JSON reprezintă J ava S criptă O obiect N otatie. Este un format pentru structurarea datelor. Acest format este folosit de diferite aplicații web pentru a comunica între ele. În acest articol, vom afla despre JSON pretty print
Ce este JSON?
JSON (JavaScript Object Notation) este un format de date bazat pe text care este interschimbabil cu multe limbaje de programare. Este folosit în mod obișnuit pentru transmisia de date între aplicații client-server. De obicei, versiunile reduse ale textului JSON sunt transmise pentru a economisi lățimea de bandă. Cu toate acestea, pentru depanare și analiză, este necesară o versiune înfrumusețată sau un JSON de tipărit frumos. În esență, destul de imprimat JSON înseamnă a avea o indentare adecvată, spații albe și separatoare.
Exemplu:
Input: '[ {'studentid': 1, 'name': 'ABC', 'subjects': ['Python', 'Data Structures']}]' Output: [ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] } ]> json.dumps() în Python
În primul rând, utilizați metoda json.loads() pentru a converti șirul JSON în Piton obiect. Pentru a converti acest obiect într-un șir JSON destul de tipărit, se folosește metoda json.dumps(). Mai jos sunt exemple și pași pentru a înțelege mai bine aceste cazuri.
Sintaxă: json.dumps(obj, indent,separator)
Parametru:
- obj: Serializați obj ca flux formatat JSON
- liniuță: Dacă indent este un întreg sau șir nenegativ, atunci elementele matricei JSON și membrii obiectului vor fi destul de imprimate cu acel nivel de indentare. Un nivel de indentare de 0, negativ sau va insera doar linii noi.
- separatoare: Dacă se specifică, separatorii ar trebui să fie un tuplu (separator_articol, separator_cheie).
Pretty Print JSON String
Această metodă are parametrul indent pentru a specifica numărul de spații și un parametru separator pentru a specifica separatorul dintre cheie și valoare. În mod implicit, separatorul este o virgulă între perechile cheie-valoare și două puncte între cheie și valoare. Dacă parametrul de indentare al json.dumps() este negativ, 0 sau un șir gol, atunci nu există indentări și sunt inserate doar linii noi. În mod implicit, indentarea este Niciuna și datele sunt reprezentate într-o singură linie.
Codul preia un șir JSON care conține înregistrările studenților, îl parsează într-o structură de date Python, apoi imprimă destul de mult datele JSON cu indentarea adecvată pentru o lizibilitate îmbunătățită.
Python3
conexiuni în java
import> json> json_data>=> '[ {>'studentid'>:>1>,>'name'>:>'ABC'>,> 'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]} ]'> obj>=> json.loads(json_data)> json_formatted_str>=> json.dumps(obj, indent>=>4>)> print>(json_formatted_str)> |
>
>
Ieșire:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Date JSON destul de imprimate într-un fișier cu indentare=0 .
Codul preia un șir JSON care conține înregistrările studenților, îl analizează într-o structură de date Python și apoi imprimă destul de mult datele JSON cu indentare zero, făcându-le compacte și mai puțin lizibile.
Python3
import> json> json_data>=> '[ {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]} ]'> obj>=> json.loads(json_data)> json_formatted_str>=> json.dumps(obj, indent>=>0>)> print>(json_formatted_str)> |
>
>
Ieșire:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Scrieți datele JSON Pretty Print în fișier
Pentru a scrie un obiect Python ca date în format JSON Pretty Print într-un fișier, se folosește metoda json.dump(). La fel ca metoda json.dumps(), are indentări și parametrii separatori pentru a scrie JSON înfrumusețat.
Python3
import> json> data>=> [{>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]}]> with>open>(>'filename.json'>,>'w'>) as write_file:> >json.dump(data, write_file, indent>=>4>)> |
>
>
Ieșire:
filename.json
Citind date JSON și imprimați-le destul de
Pentru a citi JSON dintr-un fișier sau URL, utilizați json.load(). Apoi utilizați json.dumps() pentru a converti obiectul (obținut din citirea fișierului) într-un șir JSON de tipar destul de imprimat.
Python3
import> json> with>open>(>'filename.json'>,>'r'>) as read_file:> > >obj>=> json.load(read_file)> >pretty_json>=> json.dumps(obj, indent>=>4>)> >print>(pretty_json)> |
>
>
Ieșire:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Folosind pprint pentru a imprima destul de JSON pentru a tipări formatul nostru JSON
Acest cod citește datele JSON dintr-un fișier numit test.json, le parsează într-o structură de date Python și apoi le tipărește folosind atâtprint>funcția șipprint>modul. Thepprint>modulul este folosit pentru a imprima destul de mult datele JSON cu opțiuni de formatare specifice, cum ar fi o indentație de 2, o lățime de linie de 30 de caractere și o reprezentare compactă.
Python3
import> json> import> pprint> with>open>(>'test.json'>,>'r'>) as json_data:> >student>=> json.load(json_data)> >print>(student)> >print>(>'
'>)> pp>=> pprint.PrettyPrinter(indent>=>2>, width>=>30>, compact>=>True>)> print>(>'Pretty Printing using pprint module'>)> pp.pprint(student)> |
while loop java
>
>
Ieșire:
{'Teacher_id': 1, 'name': 'Suraj', 'Salary': 50000, 'attendance': 80, 'Branch': ['English', 'Geometry', 'Physics', 'World History'], 'email': '[email protected]'} Pretty Printing using pprint module ('{'Teacher_id': 1, 'name': ' ''Suraj', 'Salary': 50000, ' ''attendance': 80, ' ''Branch': ['English', ' ''Geometry', 'Physics', ' ''World History'], 'email': ' ''[email protected]'}')> Imprimați destul de mult JSON din linia de comandă
În acest exemplu, încercăm să tipărim date folosind linia de comandă. Pentru a valida și imprima destul de mult obiectele JSON din linia de comandă, Python oferă pachetul json.tool.
Python3
echo {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]} | python>->m json.tool> |
>
>
Ieșire:
{ 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }>