Om JSON
JSON (JavaScript Object Notation) er et filformat og datalagringsstandard som bruker nøkkelverdipar for å 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 må lagre, hente og utveksle data. De fleste programmeringsspråk inkluderer biblioteker for å analysere og skrive JSON -data som standard, og JSON er et programmeringsspråk agnostisk dataformat. Verdier som er lagret i en JSON -fil eller nyttelast inneholder vanligvis strenger, tall og serialiserbare datatyper som lister (Arrays).
JSON og Python Dictionaries
JSON -data i Python konverteres til et ordboksobjekt ved å bruke "belastning" -metode. Det ser ofte at noen mennesker likestiller JSON -data og en Python -ordbok, ettersom syntaksen for å definere begge er nesten den samme. Imidlertid er JSON -data ikke annet enn en tekststreng strukturert i en stiv syntaks mens en Python -ordbok er et datastrukturobjekt som er lagret i minnet. Hvis du vil lagre ordboksdata i en tekstfil eller sende dem til et annet ikke-Python-program, må du først konvertere det til en tekststreng (byte). Denne dumpede / konverterte tekststrengen er definert i JSons standardsyntaks, og prosessen med å konvertere en Python -ordbok til en JSON -kompatibel streng kalles serialisering.
Lesing og dumping 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 ”-filen inneholder følgende data:
"kodenavn": "eoan ermine", "versjon": "Ubuntu 19.10 "Å lese testen.JSON -fil i Python, du kan bruke koden nedenfor:
Importer JSONDen første linjen i ovennevnte kode importerer JSON -modulen. I neste linje brukes "med åpen" for å trygt lese filinnholdet. Innenfor "med åpen" -blokk, "JSON.Last "-metode brukes til å lese og lagre filinnhold i" data "-variabelen. Data lastet i forrige trinn konverteres tilbake til JSON -streng ved hjelp av “JSON.Dump ”-metode. Å kjøre koden over vil vise følgende utdata:
'kodenavn': 'eoan ermine', 'versjon': 'Ubuntu 19.10 'Legg merke til i utgangen over at “JSON.Last "-metode leser rå JSON -data i en Python -ordbok mens“ JSON.Dumps ”-metoder konverterer en ordbok til en streng som er kompatibel med JSON -struktur. Når et JSON-objekt er blitt konvertert til et Python Dictionary-objekt, kan du bruke innebygde Python-ordbokmetoder for å håndtere dataene. Eksemplet over er ganske grunnleggende og inkluderer ikke matriser i JSON -data eller nestede verdier. Innenfor Python kan du imidlertid håndtere disse verdiene som alle andre nestede ordbøker og lister.
Sortering og ganske utskrift av JSON -data
“Json.Dump ”-metode støtter noen valgfrie parametere for sorteringstaster og ganske utskrift av utgangen for forbedret lesbarhet.
Importer JSONKoden over vil vise følgende utgang:
Konverteringer av datatype
Listen nedenfor illustrerer hvordan JSON -verdiene blir konvertert til Python -objekter og omvendt.
JSON | Python |
streng | str |
Antall | int eller float |
sant, falsk | Sant, falsk |
null | Ingen |
Array | liste |
gjenstand | Dict |
JSON.Verktøy -kommandolinjemodul
Python inkluderer et fint kommandolinjeverktøy “JSON.verktøy ”som kan brukes til å validere og ganske skrive ut JSON -strenger og filer.
$ ekko '"kodenavn": "eoan ermine", "versjon": "Ubuntu 19.10 " '| python3 -m json.verktøyÅ kjøre kommandoen over vil vise deg følgende utdata:
Du kan også bruke JSON.Verktøy med JSON -filer. Erstatt “in_file” og “out_file” i kommandoen nedenfor med ønsket verdier:
$ python3 -m json.verktøy in_file out_fileAnnet enn ganske utskrift, sortering og validering av JSON -data, JSON.Verktøyet 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.