logo

JSON-formatering i Python

JSON (JavaScript Object Notation) er et populært dataformat som brukes til å utveksle data mellom applikasjoner. Det er et lett format som er enkelt for mennesker å lese og skrive og enkelt for maskiner å analysere og generere.

Python-format JSON

Javascript Object Notation forkortet som JSON er et lett datautvekslingsformat. Den koder Python-objekter som JSON-strenger og dekoder JSON-strenger til Python-objekter.



  • Mange av API-ene som Github sender resultatene sine i dette formatet. JSON er sannsynligvis mest brukt for å kommunisere mellom webserveren og klienten i en AJAX-applikasjon, men er ikke begrenset til det problemdomenet.
  • For eksempel hvis du prøver å bygge et spennende prosjekt som dette du må formatere JSON-utgangen for å gjengi de nødvendige resultatene. Så la oss dykke ned i JSON-modulen som Python tilbud for formatering av JSON-utdata.

Python JSON-funksjoner

    json.dump(obj fileObj): Serialiserer obj som en JSON-formatert strøm til filObj .json.dumps(obj): Serialiserer obj som JSON-formatert streng.json.load(JSONfil): De-serialiserer JSON-fil til et Python-objekt.json.loads(JSONfil): De-serialiserer JSON-fil (type: streng) til et Python-objekt.

Python JSON-klasser

    JSONEncoder:En koderklasse for å konvertere Python-objekter til JSON-format.JSONDecoder:En dekoderklasse for å konvertere JSON-formatfiler til Python obj.

Konverteringene er basert på dette konverteringstabell .

Python JSON-koding

JSON-modulen gir følgende to metoder for å kode Python-objekter til JSON-format. Vi skal bruke dump() dumper() og JSON.Encoder-klassen. Metoden json.dump() brukes til å skrive Python-serialiserte objekter som JSON-formaterte data inn i en fil. JSON. dumps()-metoden koder et hvilket som helst Python-objekt til JSON-formatert streng.

Python3
from io import StringIO import json fileObj = StringIO() json.dump(['Hello' 'Geeks'] fileObj) print('Using json.dump(): '+str(fileObj.getvalue())) class TypeEncoder(json.JSONEncoder): def default(self obj): if isinstance(obj type): return str(obj) print('Using json.dumps(): '+str(json.dumps(type(str) cls=TypeEncoder))) print('Using json.JSONEncoder().encode' + str(TypeEncoder().encode(type(list)))) print('Using json.JSONEncoder().iterencode' + str(list(TypeEncoder().iterencode(type(dict))))) 

Produksjon :



Using json.dump(): ['Hello' 'Geeks'] Using json.dumps(): '' Using json.JSONEncoder().encode'' Using json.JSONEncoder().iterencode['''']

Dekod JSON i Python  

JSON-strengdekoding gjøres ved hjelp av den innebygde metoden json.loads() og json.load() av JSON-biblioteket i Python. json.loads() brukes til å konvertere JSON-strengdokumentet til Python-ordbok og json.load() brukes til å lese JSON-dokumentet fra filen.

Python3
from io import StringIO import json fileObj = StringIO('['Geeks for Geeks']') print('Using json.load(): '+str(json.load(fileObj))) print('Using json.loads(): '+str(json.loads ('{'Geeks': 1 'for': 2 'Geeks': 3}'))) print('Using json.JSONDecoder().decode(): ' + str(json.JSONDecoder().decode ('{'Geeks': 1 'for': 2 'Geeks': 3}'))) print('Using json.JSONDecoder().raw_decode(): ' + str(json.JSONDecoder().raw_decode('{'Geeks': 1 'for': 2 'Geeks': 3}'))) 

Produksjon:

Using json.load(): ['Geeks for Geeks'] Using json.loads(): {'for': 2 'Geeks': 3} Using json.JSONDecoder().decode(): {'for': 2 'Geeks': 3} Using json.JSONDecoder().raw_decode(): ({'for': 2 'Geeks': 3} 34)