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
Třídy Python JSON
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.
Python3from 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)