logo

Les, skriv og analyser JSON ved hjelp av Python

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.

pyhton-append-json1

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:

python-read-json-output1

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-json-skriv-til-fil

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' }>