logo

JSON-opmaak in Python

JSON (JavaScript Object Notation) is een populair gegevensformaat dat wordt gebruikt voor het uitwisselen van gegevens tussen applicaties. Het is een lichtgewicht formaat dat gemakkelijk door mensen kan worden gelezen en geschreven, en door machines gemakkelijk kan worden geparseerd en gegenereerd.

Python-formaat JSON

Javascript-objectnotatie afgekort als JSON is een lichtgewicht gegevensuitwisselingsformaat. Het codeert Python-objecten als JSON-tekenreeksen en decodeert JSON-tekenreeksen in Python-objecten.



  • Veel van de API's zoals Github verzenden hun resultaten in dit formaat. JSON wordt waarschijnlijk het meest gebruikt voor de communicatie tussen de webserver en de client in een AJAX-applicatie, maar is niet beperkt tot dat probleemdomein.
  • Bijvoorbeeld als u een spannend project probeert te bouwen, zoals dit u moet de JSON-uitvoer formatteren om de benodigde resultaten weer te geven. Laten we dus eens in de JSON-module duiken Python aanbiedingen voor het formatteren van JSON-uitvoer.

Python JSON-functies

    json.dump(obj bestandObj): Serialiseert obj als een JSON-geformatteerde stream naar bestandObj .json.dumps(obj): Serialiseert obj als JSON-geformatteerde tekenreeks.json.load(JSON-bestand): Deserialiseert JSON-bestand naar een Python-object.json.loads(JSON-bestand): Deserialiseert JSON-bestand (type: string) naar een Python-object.

Python JSON-klassen

    JSONEncoder:Een encoderklasse om Python-objecten naar JSON-indeling te converteren.JSONDecoder:Een decoderklasse om bestanden in JSON-indeling naar Python obj te converteren.

De conversies zijn hierop gebaseerd conversietabel .

Python JSON-codering

De JSON-module biedt de volgende twee methoden om Python-objecten in JSON-indeling te coderen. Wij zullen gebruiken dump() dump() en JSON.Encoder-klasse. De methode json.dump() wordt gebruikt om geserialiseerde Python-objecten als JSON-geformatteerde gegevens naar een bestand te schrijven. De JSON. dumps() methode codeert elk Python-object in JSON-geformatteerde String.

string een int
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))))) 

Uitvoer :



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

Decodeer JSON in Python  

JSON-tekenreeksdecodering gebeurt met behulp van de ingebouwde methode json.loads() & json.load() van de JSON-bibliotheek in Python. De json.loads() wordt gebruikt om het JSON String-document te converteren naar de Python-woordenboek en De json.load() wordt gebruikt om het JSON-document uit het bestand te lezen.

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}'))) 

Uitgang:

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)