logo

Python – Pretty Print JSON

JSON pomeni J ava S kripta O predmet n otacija. Je oblika za strukturiranje podatkov. To obliko uporabljajo različne spletne aplikacije za medsebojno komunikacijo. V tem članku bomo izvedeli o lepem tisku JSON

Kaj je JSON?

JSON (JavaScript Object Notation) je besedilni format podatkov, ki je zamenljiv s številnimi programskimi jeziki. Običajno se uporablja za prenos podatkov med aplikacijami odjemalec-strežnik. Običajno se zaradi varčevanja s pasovno širino prenašajo pomanjšane različice besedila JSON. Vendar pa je za odpravljanje napak in analizo potrebna polepšana različica ali lep tisk JSON. V bistvu lep tisk JSON pomeni pravilno zamikanje, prazne presledke in ločila.

primer:



  Input:   '[ {'studentid': 1, 'name': 'ABC', 'subjects': ['Python', 'Data Structures']}]'   Output:   [ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] } ]>

json.dumps() v Pythonu

Najprej uporabite metodo json.loads() za pretvorbo niza JSON v Python predmet. Za pretvorbo tega predmeta v lepo natisnjen niz JSON se uporabi metoda json.dumps(). Spodaj so primeri in koraki za boljše razumevanje teh primerov.

Sintaksa: json.dumps(obj, zamik, ločilo)

Parameter:

  • predmet: Serializirajte obj kot tok v formatu JSON
  • zamik: Če je zamik nenegativno celo število ali niz, bodo elementi polja JSON in člani objekta lepo natisnjeni s to stopnjo zamika. Raven zamika 0, negativna ali bo vstavila samo nove vrstice.
  • ločila: Če je določeno, morajo biti ločila (ločilo_predmetov, ločilo_ključev) torka.

Pretty Print JSON String

Ta metoda ima parameter indent za določanje števila presledkov in parameter ločilo za določanje ločila med ključem in vrednostjo. Privzeto je ločilo vejica med pari ključ-vrednost in dvopičje med ključem in vrednostjo. Če je parameter zamika json.dumps() negativen, 0 ali prazen niz, potem ni zamikov in so vstavljene samo nove vrstice. Privzeto je zamik Brez in podatki so predstavljeni v eni vrstici.

Koda vzame niz JSON, ki vsebuje zapise o učencih, ga razčleni v podatkovno strukturo Python, nato pa lepo natisne podatke JSON s pravilnim zamikom za izboljšano berljivost.

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>=>4>)> print>(json_formatted_str)>

>

razvrščanje java mehurčkov
>

Izhod:

[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]>

Lepo natisnjeni podatki JSON v datoteko z alinea=0 .

Koda vzame niz JSON, ki vsebuje zapise študentov, ga razčleni v podatkovno strukturo Python in nato lepo natisne podatke JSON z ničelnim zamikom, zaradi česar so kompaktni in manj berljivi.

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)>

>

>

Izhod:

[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]>

Zapišite podatke Pretty Print JSON v datoteko

Za pisanje predmeta Python kot podatke v formatu JSON Pretty Print v datoteko se uporabi metoda json.dump(). Tako kot metoda json.dumps() ima zamike in parametre ločil za pisanje polepšanega JSON.

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>)>

koliko je 10 od 1 milijona
>

>

Izhod:

ime datoteke.json

Branje podatkov JSON in lepo tiskanje

Za branje JSON iz datoteke ali URL-ja uporabite json.load(). Nato uporabite json.dumps() za pretvorbo predmeta (pridobljenega z branjem datoteke) v lepo natisnjen niz JSON.

internetni protokol smtp

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)>

>

>

Izhod:

[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]>

Uporaba pprint modul za lepo tiskanje JSON za tiskanje našega formata JSON

Ta koda prebere podatke JSON iz datoteke, imenovane test.json, jih razčleni v podatkovno strukturo Python in jih nato natisne z uporabo obeh vgrajenihprint>funkcijo inpprint>modul. Thepprint>modul se uporablja za lepo tiskanje podatkov JSON s posebnimi možnostmi oblikovanja, kot so zamik 2, širina vrstice 30 znakov in kompaktna predstavitev.

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)>

>

>

Izhod:

{'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]'}')>

Pretty-print JSON iz ukazne vrstice

V tem primeru poskušamo natisniti podatke z ukazno vrstico. Za preverjanje in lepo tiskanje objektov JSON iz ukazne vrstice Python ponuja paket json.tool.

negacijska diskretna matematika

Python3




echo {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]} | python>->m json.tool>

>

>

Izhod:

{ 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }>