JSON er et lett dataformat for datautveksling som enkelt kan leses og skrives av mennesker, og enkelt kan analyseres og genereres av maskiner. Det er et komplett språkuavhengig tekstformat. For å jobbe med JSON-data har Python en innebygd pakke kalt JSON.
Eksempel på JSON-streng
s = '{'id':01, 'name': 'Emily', 'language': ['C++', 'Python']}'> Syntaksen til JSON regnes som en delmengde av syntaksen til JavaScript inkludert følgende:
- Navn/verdi-par: Representerer data, navnet er etterfulgt av et kolon( : ), og navn/verdi-parene er atskilt med komma( , ).
- Krøllete regulering: Holder gjenstander.
- Firkantede parenteser: Hold matriser med verdier atskilt med komma ( , ).
Nøkler/navn må være strenger med doble anførselstegn, og verdier må være datatyper blant følgende:
Eksempel på JSON-fil:
{ 'employee': [ { 'id': '01', 'name': 'Amit', 'department': 'Sales' }, { 'id': '04', 'name': 'sunil', 'department': 'HR' } ] }> Python Parse JSON-streng
I koden nedenfor skal vi konvertere JSON til et Python-objekt. For å analysere JSON-strengen Python importerer vi først JSON-modulen. Vi har en JSON-streng lagret i en variabel 'ansatt' og vi konverterer denne JSON-strengen til et Python-objekt ved hjelp av json.loads() metoden til JSON-modulen i Python. Deretter skriver vi ut navnet på en ansatt ved å bruke nøkkelen 'navn' .
Python3
# 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'>])> |
>
svevende css
>Produksjon
{'id': '09', 'name': 'Nitin', 'department': 'Finance'} Nitin> Python leste JSON-filen
La oss anta at vi har en JSON-fil som ser slik ut.

Her har vi brukt funksjonen open() for å lese JSON-filen. Deretter analyseres filen ved å bruke json.load()-metoden som gir oss en ordbok som heter data.
Python3
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()> |
>
>
Produksjon:

Konverter Python Dict til JSON
I koden nedenfor konverterer vi en Python-ordbok til et JSON-objekt ved hjelp av json.dumps() metoden til JSON-modulen i Python. Vi importerer først JSON-modulen og lager deretter en liten ordbok med noen nøkkelverdi-par og sendte den deretter inn i json.dumps()-metoden med 'indent=4' for å konvertere denne Python-ordboken til et JSON-objekt. Ettersom vi har gitt verdien av innrykk til 4, er det fire mellomrom før hver data, som vist i utdataene.
Python3
# 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)> |
>
>Produksjon
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }> Følgende typer Python-objekter kan konverteres til JSON-strenger:
Python-objekter og deres tilsvarende konvertering til JSON:
| Python | JSON-ekvivalent |
|---|---|
| dikt | gjenstand |
| liste, tuppel | array |
| str | streng |
| int, flyte | Antall |
| ekte | ekte |
| Falsk | falsk |
| Ingen | null |
Skriver JSON til en fil i Python
Vi kan skrive JSON til fil ved å bruke json.dump()-funksjonen til JSON-modulen og filhåndtering i Python. I programmet nedenfor har vi åpnet en fil kalt sample.json i skrivemodus ved hjelp av 'I' . Filen vil bli opprettet hvis den ikke eksisterer. Json.dump() vil transformere Python-ordboken til en JSON-streng og den vil bli lagret i filen sample.json.
Python3
# 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)> |
>
>
Produksjon:

Python Pretty Print JSON
Når vi konverterer en streng til JSON, er dataene i et mindre lesbart format. For å gjøre det mer lesbart kan vi bruke pen utskrift ved å sende flere argumenter i funksjonen json.dumps() som f.eks. innrykk og sorteringsnøkler som brukt i koden nedenfor.
Python3
cpld vs FPGA
# 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>))> |
>
>Produksjon
{ 'department': 'Finance', 'id': '09', 'name': 'Nitin' }>