JSON tarkoittaa J ava S krypta O kohde N otaatio. Se on tietojen strukturointimuoto. Eri verkkosovellukset käyttävät tätä muotoa viestiäkseen keskenään. Tässä artikkelissa opimme JSON kauniista printistä
Mikä on JSON?
JSON (JavaScript Object Notation) on tekstipohjainen tietomuoto, joka on vaihdettavissa useiden ohjelmointikielten kanssa. Sitä käytetään yleisesti tiedonsiirtoon asiakas-palvelinsovellusten välillä. Yleensä JSON-tekstin pienennetyt versiot lähetetään kaistanleveyden säästämiseksi. Virheenkorjausta ja analysointia varten tarvitaan kuitenkin kaunistettu versio tai kaunis tulostettu JSON. Pohjimmiltaan kaunis JSON-tulostus tarkoittaa kunnollista sisennystä, välilyöntejä ja erottimia.
Esimerkki:
Input: '[ {'studentid': 1, 'name': 'ABC', 'subjects': ['Python', 'Data Structures']}]' Output: [ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] } ]> json.dumps() Pythonissa
Käytä ensin json.loads()-menetelmää JSON-merkkijonon muuntamiseen Python esine. Tämän objektin muuntamiseen kauniiksi JSON-merkkijonoksi käytetään json.dumps()-menetelmää. Alla on esimerkkejä ja ohjeita näiden tapausten ymmärtämiseksi paremmin.
Syntaksi: json.dumps(obj, sisennys,erotin)
Parametri:
- obj: Sarjaa obj JSON-muotoiltuna streamina
- sisennys: Jos sisennys on ei-negatiivinen kokonaisluku tai merkkijono, JSON-taulukon elementit ja objektin jäsenet tulostetaan kauniisti tällä sisennystasolla. Sisennystaso 0, negatiivinen tai lisää vain rivinvaihdot.
- erottimet: Jos se on määritetty, erottimien tulee olla (item_separator, key_separator) monikko.
Pretty Print JSON-merkkijono
Tässä menetelmässä on parametrin sisennys, joka määrittää välilyöntien määrän, ja erotinparametri avaimen ja arvon välisen erottimen määrittämiseksi. Oletusarvoisesti erotin on pilkku avain-arvo-parien välillä ja kaksoispiste avaimen ja arvon välillä. Jos json.dumps()-parametrin sisennysparametri on negatiivinen, 0 tai tyhjä merkkijono, sisennystä ei ole ja vain rivinvaihdot lisätään. Oletusarvoisesti sisennys on Ei mitään ja tiedot esitetään yhdellä rivillä.
Koodi ottaa JSON-merkkijonon, joka sisältää opiskelijatietueita, jäsentää sen Python-tietorakenteeseen ja tulostaa sitten JSON-tiedot kauniilla sisennyksillä luettavuuden parantamiseksi.
Python 3
java matematiikan luokka
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)> |
>
>
Lähtö:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Kauniisti tulostetut JSON-tiedot tiedostoon sisennys=0 .
Koodi ottaa opiskelijatietueita sisältävän JSON-merkkijonon, jäsentää sen Python-tietorakenteeseen ja tulostaa sitten JSON-tiedot kauniisti ilman sisennystä, mikä tekee siitä kompaktin ja vähemmän luettavan.
Python 3
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)> |
>
>
Lähtö:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Kirjoita Pretty Print JSON -tiedot tiedostoon
Python-objektin kirjoittamiseen JSON Pretty Print -muotoisena datana tiedostoon käytetään json.dump()-menetelmää. Kuten json.dumps()-menetelmässä, siinä on sisennykset ja erotinparametrit kauniin JSONin kirjoittamiseen.
Python 3
10 ml oz
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>)> |
>
>
Lähtö:
tiedostonimi.json
JSON-tietojen lukeminen ja sen tulostaminen
Jos haluat lukea JSON-tiedoston tiedostosta tai URL-osoitteesta, käytä json.load()-komentoa. Käytä sitten json.dumps()-komentoa muuntaaksesi objektin (saatu tiedoston lukemisesta) kauniiksi JSON-merkkijonoksi.
Python 3
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)> |
>
>
Lähtö:
multipleksointi
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Käyttämällä pprint-moduuli kauniiseen JSONiin tulostaaksesi JSON-muotomme
Tämä koodi lukee JSON-tiedot test.json-nimisestä tiedostosta, jäsentää sen Python-tietorakenteeseen ja tulostaa sen sitten käyttämällä sekä sisäänrakennettuaprint>toiminto japprint>moduuli. Thepprint>moduulia käytetään JSON-tietojen kauniiseen tulostamiseen erityisillä muotoiluvaihtoehdoilla, kuten sisennys 2, rivin leveys 30 merkkiä ja kompakti esitys.
Python 3
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)> |
java pää
>
>
Lähtö:
{'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]'}')> Prettyprint JSON komentoriviltä
Tässä esimerkissä yritämme tulostaa tietoja komentorivin avulla. Python tarjoaa json.tool-paketin JSON-objektien tarkistamiseksi ja kauniiksi tulostamiseksi komentoriviltä.
Python 3
echo {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]} | python>->m json.tool> |
>
>
Lähtö:
{ 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }>