JSON (JavaScript Object Notation) je populární formát dat používá pro prezentaci strukturovaných dat. Je to převládající praxe pro přenos a příjem dat mezi serverem a webovou aplikací ve formátu JSON. Můžete se podívat na to, jak analyzovat JSON v Pythonu.
Python dict to json
Chcete-li převést Python dict na json, použijte vestavěný json.skládky () metoda. Json.funkce dumps () převede slovník na objekt řetězce, nikoli objekt json (slovník)! takže musíte načíst řetězec do dict, abyste jej mohli použít pomocí json.metoda zatížení ().
pokud tedy chcete převést Python dict na json, musíte nejprve převést slovník na řetězec a poté použít json.zatížení () metoda převést na JSON.
pokud máte objekt Python, můžete jej převést na řetězec JSON pomocí json.skládky () metoda. Pokud chcete pracovat s JSON (řetězec nebo soubor obsahující objekt JSON), můžete použít modul json v Pythonu. Pomůže vám, pokud importujete json modul dříve, než jej budete moci použít.
import json
modul json usnadňuje analýzu řetězců JSON a souborů obsahujících objekt JSON.
nyní můžete převést slovník na řetězec JSON pomocí json.skládky () metoda.
proces kódování JSON se obvykle nazývá serializace. Tento termín označuje transformaci dat do řady bajtů (tedy sériových), které mají být uloženy nebo přenášeny po síti.
můžete také slyšet termín marshaling, ale to je celá jiná diskuse. Deserializace je přirozeně reciproční proces dekódování dat, která byla uložena nebo doručena ve standardu JSON.
viz následující příklad.
# app.pyimport jsonappDict = { 'name': 'messenger', 'playstore': True, 'company': 'Facebook', 'price': 100}app_json = json.dumps(appDict)print(app_json)
definovali jsme tedy jeden slovník a poté tento slovník převedeme na JSON pomocí json.skládky () metoda. Výstup je následující.
Pokud chcete seřadit klíče, použijte sort_keys jako druhý argument json_dumps().
viz následující příklad.
# app.pyimport jsonpersonDict = { 'bill': 'tech', 'federer': 'tennis', 'ronaldo': 'football', 'woods': 'golf', 'ali': 'boxing'}app_json = json.dumps(personDict, sort_keys=True)print(app_json)
výstup je následující.
json.dumps () vrací JSON řetězec reprezentaci python dict.
zápis JSON do souboru.
pokud chceme zapsat JSON do souboru v Pythonu, můžeme použít json.dump () metoda.
viz následující kód.
# app.pyimport jsonpersonDict = { 'bill': 'tech', 'federer': 'tennis', 'ronaldo': 'football', 'woods': 'golf', 'ali': 'boxing'}with open('person.txt', 'w') as json_file: json.dump(personDict, json_file)
ve výše uvedeném programu jsme otevřeli soubor s názvem osoba.txt v režimu psaní pomocí ‚w.‘ pokud soubor ještě neexistuje, bude vytvořen. Poté json_dump () transformuje personDict na řetězec JSON, uložený v osobě.txt soubor.
při spuštění výše uvedeného kódu, osoba.txt soubor je vytvořen, a json řetězec uvnitř tohoto souboru je zapsán.
řekněme, že máte slovník, jako je tento.
# app.pydata = {'Eleven': 'Millie', 'Mike': 'Finn', 'Will': 'Noah'}
nyní musíte vypsat tento dict do json do souboru, pak je snazší to udělat následováním.
# app.pyimport jsondata = {'Eleven': 'Millie', 'Mike': 'Finn', 'Will': 'Noah'}with open('app.json', 'w') as fp: json.dump(data, fp)
Nyní, pokud spustíte výše uvedený soubor, můžete vidět, že aplikace.json soubor je vytvořen, a pak to má následující obsah.
{ "Eleven": "Millie", "Mike": "Finn", "Will": "Noah" }
výše uvedený příklad je jednoduchý případ zpracování souborů v Pythonu. V Pythonu jsme použili funkci File open ().
Python dict do json uvozovek
Pokud potřebujete vytvořit slovník s názvy uvnitř uvozovek namísto výchozí jednoho citátů, které se Python využívá, můžete použít následující kód.
# app.pyimport jsonclass App(dict): def __str__(self): return json.dumps(self)couples = , , , ]pairs = App(couples)print(pairs)
viz výstup.
➜ pyt python3 app.py{"eleven": "Millie", "mike": "Finn", "max": "Sadie", "dustin": "Gaten"}➜ pyt
konečně, jak převést Python slovník na JSON příklad je u konce.
Příspěvky
Python na seznam json
Python Slovník Datovém
Python Slovník do formátu CSV
Python string list
Python string na int