JSON on kevyt datamuoto tiedonvaihtoon, jota ihmiset voivat helposti lukea ja kirjoittaa ja koneiden jäsentää ja luoda helposti. Se on täysin kielestä riippumaton tekstimuoto. Pythonilla on JSON-niminen paketti JSON-tietojen käsittelemiseksi.
Esimerkki JSON-merkkijonosta
s = '{'id':01, 'name': 'Emily', 'language': ['C++', 'Python']}'> Kohteen syntaksi JSON pidetään syntaksin osajoukona JavaScript mukaan lukien seuraavat:
- Nimi/arvo-parit: Edustaa dataa, nimen perässä on kaksoispiste ( : ), ja Nimi/arvo-parit erotetaan pilkulla( , ).
- Aaltosulkeet: Pitää esineitä.
- Hakasulkeet: Säilytä taulukoita, joiden arvot on erotettu pilkulla ( , ).
Avainten/Nimen on oltava merkkijonoja lainausmerkeillä ja arvojen on oltava tietotyyppejä seuraavista:
- merkkijono
- Määrä
- Objekti (JSON-objekti)
- joukko
- Boolean
- Tyhjä
Esimerkki JSON-tiedostosta:
{ 'employee': [ { 'id': '01', 'name': 'Amit', 'department': 'Sales' }, { 'id': '04', 'name': 'sunil', 'department': 'HR' } ] }> Python Parse JSON-merkkijono
Alla olevassa koodissa aiomme muuntaa JSONin Python-objektiksi. JSON-merkkijonon Python jäsentämiseksi tuomme ensin JSON-moduulin. Meillä on JSON-merkkijono, joka on tallennettu muuttujaan 'työntekijä' ja muunnamme tämän JSON-merkkijonon Python-objektiksi käyttämällä json.loads() JSON-moduulin menetelmä Pythonissa. Tämän jälkeen tulostamme työntekijän nimen avaimella 'nimi' .
Python 3
# Python program to convert JSON to Python> import> json> # JSON string> employee>=>'{'id':'09', 'name': 'Nitin', 'department':'Finance'}'> # Convert string to Python dict> employee_dict>=> json.loads(employee)> print>(employee_dict)> print>(employee_dict[>'name'>])> |
>
taulukon pituus java
>Lähtö
{'id': '09', 'name': 'Nitin', 'department': 'Finance'} Nitin> Python lukee JSON-tiedoston
Oletetaan, että meillä on JSON-tiedosto, joka näyttää tältä.

Tässä olemme käyttäneet open()-funktiota JSON-tiedoston lukemiseen. Sitten tiedosto jäsennetään json.load()-menetelmällä, joka antaa meille sanakirjan nimeltä data.
Python 3
import> json> # Opening JSON file> f>=> open>(>'data.json'>,)> # returns JSON object as> # a dictionary> data>=> json.load(f)> # Iterating through the json> # list> for> i>in> data[>'emp_details'>]:> >print>(i)> # Closing file> f.close()> |
>
>
Lähtö:

Muunna Python Dict JSONiksi
Alla olevassa koodissa muunnamme a Python-sanakirja JSON-objektiin käyttämällä json.dumps() JSON-moduulin menetelmä Pythonissa. Tuomme ensin JSON-moduulin ja teemme sitten pienen sanakirjan, jossa on joitain avain-arvopareja, ja siirrämme sen sitten json.dumps()-menetelmään, jossa on indent=4, jotta tämä Python-sanakirja muunnetaan JSON-objektiksi. Koska olemme antaneet sisennyksen arvon 4:lle, jokaisen datan edessä on neljä välilyöntiä, kuten tulosteessa näkyy.
Python 3
# Python program to convert> # Python to JSON> import> json> > # Data to be written> dictionary>=> {> >'id'>:>'04'>,> >'name'>:>'sunil'>,> >'department'>:>'HR'> }> > # Serializing json> json_object>=> json.dumps(dictionary, indent>=> 4>)> print>(json_object)> |
>
>Lähtö
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }> Seuraavan tyyppisiä Python-objekteja voidaan muuntaa JSON-merkkijonoiksi:
- sanele
- lista
- monikko
- merkkijono
- int
- kellua
- Totta
- Väärä
- Ei mitään
Python-objektit ja niitä vastaava muunnos JSON-muotoon:
| Python | JSON-vastaava |
|---|---|
| sanele | esine |
| lista, tuple | joukko |
| str | merkkijono |
| int, kellua | määrä |
| Totta | totta |
| Väärä | väärä poliisikomissaari |
| Ei mitään | tyhjä |
JSONin kirjoittaminen tiedostoon Pythonissa
Voimme kirjoittaa JSON-tiedoston tiedostoon JSON-moduulin json.dump()-funktiolla ja tiedostojen käsittelyllä Pythonissa. Alla olevassa ohjelmassa olemme avanneet tiedoston sample.json kirjoitustilassa käyttäen 'Sisään' . Tiedosto luodaan, jos sitä ei ole olemassa. Json.dump() muuttaa Python-sanakirjan JSON-merkkijonoksi ja se tallennetaan tiedostoon sample.json.
Python 3
# Python program to write JSON> # to a file> import> json> > # Data to be written> dictionary>=>{> >'name'> :>'sathiyajith'>,> >'rollno'> :>56>,> >'cgpa'> :>8.6>,> >'phonenumber'> :>'9976770500'> }> > with>open>(>'sample.json'>,>'w'>) as outfile:> >json.dump(dictionary, outfile)> |
>
>
Lähtö:

Python Pretty Print JSON
Kun muunnamme merkkijonon JSON-muotoon, tiedot ovat vähemmän luettavassa muodossa. Jotta se olisi luettavampaa, voimme käyttää kaunista tulostusta välittämällä lisäargumentteja json.dumps()-funktioon, kuten esim. sisennys ja lajitteluavaimet kuten alla olevassa koodissa käytetään.
Python 3
# Python program to convert JSON to Python> import> json> # JSON string> employee>=>'{'id':'09', 'name': 'Nitin', 'department':'Finance'}'> # Convert string to Python dict> employee_dict>=> json.loads(employee)> # Pretty Printing JSON string back> print>(json.dumps(employee_dict, indent>=> 4>, sort_keys>=> True>))> |
>
>Lähtö
{ 'department': 'Finance', 'id': '09', 'name': 'Nitin' }>