Pytonorm

Hur man läser och skriver Json-filer i Python

Hur man läser och skriver Json-filer i Python
Den här artikeln kommer att förklara hur man hanterar JSON-filer och data på Python-programmeringsspråk. Python levereras med en inbyggd “json” -modul som gör hantering av JSON-data enkelt och enkelt.

Om JSON

JSON (JavaScript Object Notation) är ett filformat och datalagringsstandard som använder nyckel-värdepar för att lagra och utbyta data. Det är det mest använda datautbytesformatet, ofta sett i RESTful API: er, lätta databaser, konfigurationsfiler och annan offline- eller onlineprogramvara som behöver lagra, hämta och utbyta data. De flesta programmeringsspråk inkluderar bibliotek för att analysera och skriva JSON-data som standard och JSON är ett agnostiskt dataformat för programmeringsspråk. Värden som lagras i en JSON-fil eller nyttolast innehåller vanligtvis strängar, siffror och datatyper som kan serieiseras som listor (arrays).

JSON och Python Dictionaries

JSON-data i python konverteras till ett ordbokobjekt med hjälp av "ladda" -metoden. Det ses ofta att vissa människor likställer json-data och en python-ordlista, eftersom syntaxen för att definiera dem båda är nästan densamma. Json-data är dock ingenting annat än en textsträng strukturerad i en stel syntax medan en python-ordlista är ett datastrukturobjekt lagrat i minnet. Om du vill lagra ordboksdata i en textfil eller skicka den till ett annat program som inte är python måste du först konvertera det till en textsträng (byte). Denna dumpade / konverterade textsträng definieras i JSONs standardsyntax och processen att konvertera en pythonordbok till en json-kompatibel sträng kallas för serialisering.

Läsa och dumpa JSON-data i Python

JSON-data kan hämtas som ett svar från en server, läsas från fil, skivas från URL-frågeparametrar och så vidare. Den här artikeln fokuserar främst på att läsa json-data från en lokalt lagrad fil. Låt oss anta att ett “test.json ”-fil innehåller följande data:

"kodnamn": "Eoan Ermine", "version": "Ubuntu 19.10 "

Att läsa testet.json-fil i python kan du använda koden nedan:

importera json
med öppen ("test.json ") som f:
data = json.belastning (f)
dumpa = json.dumpar (data)
skriva ut (data)
skriva ut (typ (data))
skriva ut (dumpa)
skriva ut (typ (dumpa))

Den första raden i ovanstående kod importerar json-modulen. I nästa rad används "med öppen" för att säkert läsa filinnehållet. Inom "med öppet" block, "json.load-metoden används för att läsa och lagra filinnehåll i "data" -variabeln. Data som laddats i föregående steg konverteras tillbaka till json-sträng med "json.dump ”-metoden. Att köra koden ovan visar följande utdata:

'kodnamn': 'Eoan Ermine', 'version': 'Ubuntu 19.10 '

"kodnamn": "Eoan Ermine", "version": "Ubuntu 19.10 "

Observera i utgången ovan att “json.load "-metoden läser rå json-data i en python-ordlista medan" json.dumps ”-metoder omvandlar en ordbok till en sträng som är kompatibel med JSON-strukturen. När ett JSON-objekt har konverterats till ett python-ordbokobjekt kan du använda inbyggda python-ordboksmetoder för att hantera data. Exemplet ovan är ganska grundläggande och innehåller inte matriser i JSON-data eller kapslade värden. Men inom python kan du hantera dessa värden som alla andra kapslade ordböcker och listor.

Sortera och ganska skriva ut JSON-data

”Json.dump ”-metoden stöder några valfria parametrar för sortering av nycklar och vacker utskrift för bättre läsbarhet.

importera json
med öppen ("test.json ") som f:
data = json.belastning (f)
dumpa = json.dumpar (data, sort_keys = True, indent = 4)
skriva ut (dumpa)

Koden ovan visar följande utdata:


"kodnamn": "Eoan Ermine",
"version": "Ubuntu 19.10 "

Omvandlingar av datatyp

Listan nedan illustrerar hur JSON-värden konverteras till pythonobjekt och vice versa.

JSON Pytonorm
sträng str
siffra int eller flyta
sant falskt Sant falskt
null Ingen
array lista
objekt diktera

Json.verktyg Kommandoradsmodul

Python innehåller ett trevligt kommandoradsverktyg “json.verktyg ”som kan användas för att validera och vackert skriva ut JSON-strängar och filer.

$ echo '"kodnamn": "Eoan Ermine", "version": "Ubuntu 19.10 " '| python3 -m json.verktyg

Att köra kommandot ovan visar följande utdata:


"kodnamn": "Eoan Ermine",
"version": "Ubuntu 19.10 "

Du kan också använda json.verktyg med JSON-filer. Ersätt "in_file" och "out_file" i kommandot nedan med önskade värden:

$ python3 -m json.verktyg i_fil ut_fil

Annat än vackert utskrift, sortering och validering av JSON-data, json.verktyg gör ingenting annat. Så om du vill manipulera någon JSON-data måste du skriva din egen anpassade kod med den inbyggda JSON-modulen.

Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...
Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...