Læs JSON-fil ved hjælp af Python
Den fulde form for JSON er JavaScript Object Notation. Det betyder, at en script (eksekverbar) fil, som er lavet af tekst i et programmeringssprog, bruges til at gemme og overføre dataene. Python understøtter JSON gennem en indbygget pakke kaldet JSON. For at bruge denne funktion importerer vi JSON-pakken i Python manuskript. Teksten i JSON udføres gennem citeret streng, som indeholder værdien i nøgleværdi-mapping inden for { }.
Python Parse JSON – Sådan læser du en JSON-fil
Det er ret nemt at indlæse et JSON-objekt i Python. Python har en indbygget pakke kaldet JSON , som kan bruges til at arbejde med JSON-data. Det gøres ved at bruge JSON-modulet, som giver os en masse metoder, bl.a loads() og load() metoder vil hjælpe os med at læse JSON-filen.
Deserialiser en JSON-streng til et objekt i Python
Deserialiseringen af JSON betyder konvertering af JSON-objekter til deres respektive Python-objekter. Metoden load()/loads() bruges til det. Hvis du har brugt JSON-data fra et andet program eller fået det som et strengformat af JSON, så kan det nemt deserialiseres med load()/loads(), som normalt bruges til at indlæse fra streng, ellers er rodobjektet i liste eller diktat. Se følgende tabel nedenfor.
| JSON OBJEKT | PYTHON OBJEKT |
|---|---|
| objekt | dikt |
| array | liste |
| snor | str |
| nul | Ingen |
| nummer (int) | int |
| tal (rigtigt) | flyde |
| rigtigt | Rigtigt |
| falsk | Falsk |
json.load() metode
json.load() accepterer filobjektet, analyserer JSON-dataene, udfylder en Python-ordbog med dataene og returnerer dem tilbage til dig.
Syntaks:
json.load(filobjekt)
Parameter: Det tager filobjektet som en parameter.
Vend tilbage: Det returnerer et JSON-objekt.
Indlæser en JSON-fil i Python
Her skal vi læse en JSON-fil med navnet data.json skærmbilledet af filen er givet nedenfor.
I nedenstående kode importerer vi først JSON-modulet, åbner filen ved hjælp af filhåndteringen open() funktion , og gem derefter dataene i variablen 'data' ved hjælp af funktionen json.load(). Derefter itererer vi over dataene og udskriver dem.
Python3
# Python program to read> # json file> 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()> |
Produktion:
json.loads() metode
Hvis vi har en JSON-streng, kan vi parse den ved at bruge json.loads() metode . json.loads() tager ikke filstien, men filindholdet som en streng, for at læse indholdet af en JSON-fil kan vi bruge fileobject.read() til at konvertere filen til en streng og sende den med json.loads (). Denne metode returnerer indholdet af filen.
Syntaks:
json.loads(S)
Parameter: det tager en streng, bytes eller byte array-instans, som indeholder JSON-dokumentet som en parameter (S).
Returtype: Det returnerer Python-objektet.
Python – Læs JSON-streng
Dette eksempel viser læsning fra både streng og JSON-fil ved hjælp af metoden json.loads(). For det første har vi en JSON-streng gemt i en variabel 'j_streng' og konverter denne JSON-streng til en Python-ordbog ved hjælp af json.loads()-metoden, der er gemt i variablen 'og' derefter udskriver vi det. For det andet læser vi JSON-strengen gemt i en fil ved hjælp af json.loads() for at vi først konverterer JSON-filen til en streng ved hjælp af filhåndteringen på samme måde som i ovenstående eksempel og derefter konverterer den til strengen ved hjælp af read()-funktionen og resten af proceduren er den samme, som vi følger, før vi bruger metoden json.loads().
Python3
# Python program to read> # json file> import> json> # JSON string> j_string> => '{'name': 'Bob', 'languages': 'English'}'> # deserializes into dict and returns dict.> y> => json.loads(j_string)> print> (> 'JSON string = '> , y)> print> ()> # JSON file> f> => open> (> 'data.json'> ,> 'r'> )> # Reading from file> data> => json.loads(f.read())> # Iterating through the json list> for> i> in> data[> 'emp_details'> ]:> > print> (i)> # Closing file> f.close()> |
Forklaring: Her i outputtet kan vi se både outputtet af læsestrengen og filen ved hjælp af json.loads() metoden
Produktion: