Python

Hvordan lese og skrive Json-filer i Python

Hvordan lese og skrive Json-filer i Python
Denne artikkelen vil forklare hvordan du håndterer JSON-filer og data på Python-programmeringsspråk. Python kommer med en innebygd “json” -modul som gjør det enkelt og greit å håndtere JSON-data.

Om JSON

JSON (JavaScript Object Notation) er et filformat og datalagringsstandard som bruker nøkkelverdipar til å lagre og utveksle data. Det er det mest brukte datautvekslingsformatet, ofte sett i RESTful APIer, lette databaser, konfigurasjonsfiler og annen offline eller online programvare som trenger å lagre, hente og utveksle data. De fleste programmeringsspråk inkluderer biblioteker for å analysere og skrive JSON-data som standard, og JSON er et agnostisk dataformat for programmeringsspråk. Verdier som er lagret i en JSON-fil eller nyttelast inneholder vanligvis strenger, tall og seriøse datatyper som lister (arrays).

JSON og Python Dictionaries

JSON-data i python konverteres til et ordbokobjekt ved hjelp av "last" -metoden. Det er ofte sett at noen mennesker sidestiller json-data og en pythonordbok, ettersom syntaksen for å definere dem begge er nesten den samme. Json-data er imidlertid ingenting annet enn en tekststreng strukturert i en stiv syntaks mens en pythonordbok er et datastrukturobjekt lagret i minnet. Hvis du vil lagre ordboksdata i en tekstfil eller sende dem til et annet program som ikke er python, må du først konvertere det til en tekststreng (byte). Denne dumpede / konverterte tekststrengen er definert i JSONs standard syntaks, og prosessen med å konvertere en pythonordbok til en json-kompatibel streng kalles serialisering.

Lese og dumpe JSON-data i Python

JSON-data kan hentes som et svar fra en server, leses fra fil, skiver fra URL-spørringsparametere og så videre. Denne artikkelen vil hovedsakelig fokusere på å lese json-data fra en lokalt lagret fil. La oss anta at en “test.json ”-fil inneholder følgende data:

"kodenavn": "Eoan Ermine", "versjon": "Ubuntu 19.10 "

Å lese testen.json-fil i python, kan du bruke koden nedenfor:

importere json
med åpen ("test.json ") som f:
data = json.belastning (f)
dump = json.dumper (data)
skriv ut (data)
skriv ut (type (data))
skriv ut (dump)
skriv ut (type (dump))

Den første linjen i koden ovenfor importerer json-modulen. I neste linje brukes “med åpen” til å lese filinnholdet trygt. Innenfor "med åpen" blokken, "json.load ”-metoden brukes til å lese og lagre filinnhold i“ data ”-variabelen. Data lastet i forrige trinn konverteres tilbake til json-streng ved hjelp av "json.dump ”-metoden. Å kjøre koden ovenfor viser følgende utdata:

'kodenavn': 'Eoan Ermine', 'versjon': 'Ubuntu 19.10 '

"kodenavn": "Eoan Ermine", "versjon": "Ubuntu 19.10 "

Legg merke til i utgangen ovenfor at “json.last "-metoden leser rå json-data i en pythonordbok mens" json.dumps ”-metoder konverterer en ordbok til en streng som er kompatibel med JSON-strukturen. Når et JSON-objekt er konvertert til et pythonordbokobjekt, kan du bruke innebygde pythonordbokmetoder for å håndtere dataene. Eksemplet ovenfor er ganske grunnleggende og inkluderer ikke matriser i JSON-data eller nestede verdier. Men innen python kan du håndtere disse verdiene som alle andre nestede ordbøker og lister.

Sortering og pen utskrift av JSON-data

“Json.dump ”-metoden støtter noen valgfrie parametere for sortering av nøkler og pen utskrift av utdata for bedre lesbarhet.

importere json
med åpen ("test.json ") som f:
data = json.belastning (f)
dump = json.dump (data, sort_keys = True, indent = 4)
skriv ut (dump)

Koden ovenfor viser følgende utdata:


"kodenavn": "Eoan Ermine",
"versjon": "Ubuntu 19.10 "

Datatypekonverteringer

Listen nedenfor illustrerer hvordan JSON-verdier konverteres til pythonobjekter og omvendt.

JSON Python
streng str
Nummer int eller flyte
sant, usant Sant, usant
null Ingen
array liste
gjenstand diktere

Json.verktøy Kommandolinjemodul

Python inkluderer et fint kommandolinjeverktøy “json.verktøy ”som kan brukes til å validere og pent skrive ut JSON-strenger og filer.

$ echo '"kodenavn": "Eoan Ermine", "version": "Ubuntu 19.10 " '| python3 -m json.verktøy

Å kjøre kommandoen ovenfor viser følgende utgang:


"kodenavn": "Eoan Ermine",
"versjon": "Ubuntu 19.10 "

Du kan også bruke json.verktøy med JSON-filer. Erstatt "in_file" og "out_file" i kommandoen nedenfor med dine ønskede verdier:

$ python3 -m json.verktøy i_fil ut_fil

Annet enn ganske utskrift, sortering og validering av JSON-data, json.verktøy gjør ikke noe annet. Så hvis du vil manipulere noen JSON-data, må du skrive din egen tilpassede kode ved hjelp av den innebygde JSON-modulen.

Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...