logo

Formátování JSON v Pythonu

JSON (JavaScript Object Notation) je populární datový formát, který se používá pro výměnu dat mezi aplikacemi. Jedná se o odlehčený formát, který je pro lidi snadno čitelný a zapisovatelný a pro stroje jej snadno analyzují a generují.

Formát Python JSON

Javascript Object Notation zkráceně jako JSON je odlehčený formát pro výměnu dat. Kóduje to Objekty Pythonu jako JSON řetězce a dekóduje JSON řetězce do objektů Pythonu.



  • Mnoho rozhraní API, jako je Github, odesílá své výsledky v tomto formátu. JSON je pravděpodobně nejrozšířenější pro komunikaci mezi webovým serverem a klientem v aplikaci AJAX, ale není omezen na tuto problémovou doménu.
  • Například pokud se snažíte vybudovat vzrušující projekt, jako je tento musíte naformátovat výstup JSON, abyste vykreslili potřebné výsledky. Pojďme se tedy ponořit do modulu JSON, který Krajta nabízí formátování výstupu JSON.

Funkce Python JSON

    json.dump(obj fileObj): Serializuje se obj jako stream ve formátu JSON fileObj .json.dumps(obj): Serializuje se obj jako řetězec ve formátu JSON.json.load(JSONfile): De-serializuje JSONfile k objektu Pythonu.json.loads(JSONfile): De-serializuje JSONfile (typ: string) do objektu Pythonu.

Třídy Python JSON

    Kodér JSON:Třída kodéru pro převod objektů Pythonu do formátu JSON.JSONDecoder:Třída dekodéru pro převod souborů formátu JSON na obj Python.

Na tom jsou založeny konverze převodní tabulka .

Python kódování JSON

Modul JSON poskytuje následující dvě metody pro kódování objektů Pythonu do formátu JSON. Budeme používat dump() dumps() a třída JSON.Encoder. Metoda json.dump() se používá k zápisu serializovaných objektů Pythonu jako dat ve formátu JSON do souboru. JSON. Metoda dumps() zakóduje jakýkoli objekt Pythonu do řetězce ve formátu JSON.

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

Výstup :



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

Dekódujte JSON v Pythonu  

Dekódování řetězce JSON se provádí pomocí vestavěné metody json.loads() & json.load() knihovny JSON v Pythonu. json.loads() se používá k převodu dokumentu JSON String na Pythonský slovník a json.load() se používá ke čtení dokumentu JSON ze souboru.

powershell víceřádkový komentář
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}'))) 

výstup:

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)