JSON (JavaScript Object Notation) je populární datový formát, který je široce používán ve vývoji webu. Je to snadný a čitelný způsob strukturování informací. Programovací jazyk Python má vestavěnou podporu pro práci s JSON, která vám umožní snadno vytvářet a rozebírat tento formát dat.
V tomto guide se podíváme na hlavní způsoby, jak vytvořit a sestavit JSON v Pythonu. Ukážeme vám, jak uspořádat data jako slovníky, Seznamy a další datové struktury a poté je přeměnit na formát JSON. Podíváme se také na možnosti serializace a deserializace JSON dat, abychom je uložili do souboru nebo přenesli přes síť.
Použití JSON v Pythonu může být užitečné pro různé úkoly, jako je sdílení dat mezi klientskou a serverovou částí webových aplikací, ukládání konfigurací programu nebo přenos komplexních datových struktur. Díky flexibilitě a jednoduchosti se JSON stává stále populárnějším formátem pro výměnu informací v mnoha oblastech vývoje softwaru.
Poznámka: V tomto článku se podíváme na práci s JSON v Pythonu verze 3.x.
Co je JSON a proč jej používat
Hlavním účelem JSON je přenos dat mezi klientem a serverem. Je široce používán ve vývoji webu a rozhraní API ke sdílení dat.
Proč je JSON tak populární? Za prvé, JSON je univerzální a snadno použitelný formát dat. Podporuje mnoho programovacích jazyků, včetně Pythonu.
Za druhé, JSON umožňuje snadnou strukturaci dat. Umožňuje popis složitých datových struktur složených z polí a objektů, díky čemuž je vhodný pro reprezentaci a přenos informací.
JSON má také některé užitečné funkce, jako je podpora různých typů dat (řádek, číslo, logická hodnota atd.), Stejně jako možnost zahrnout Komentáře do dokumentu JSON a odkazovat na jiné objekty JSON.
Použití JSON v Pythonu vám umožňuje efektivně zpracovávat data, ukládat je do souborů, přenášet je po síti a pracovat s mnoha různými API a službami.
Jak vytvořit objekt JSON v Pythonu
Python má vestavěný modul json, který usnadňuje práci s JSON objekty. Abychom vytvořili objekt JSON, nejprve vytvoříme odpovídající datovou strukturu v Pythonu a poté jej převedeme do formátu JSON pomocí funkce json.dumps() .
Zde je příklad kódu, který ukazuje, jak vytvořit jednoduchý objekt JSON v Pythonu:
import json# Создаем структуру данныхdata = # Преобразуем структуру данных в JSON-форматjson_data = json.dumps(data)
V tomto příkladu vytváříme jednoduchý datový slovník s klíči "name", "age"a " city". Poté používáme funkci json.dups () převést tento slovník na řádek JSON-formátu json_data .
Tento řádek můžeme uložit do souboru nebo jej přenést přes síť. V případě potřeby můžeme také převést řetězec formátu JSON zpět do datové struktury Pythonu pomocí funkce json.loads() .
Nyní máte základní pochopení toho, jak vytvořit objekt JSON v Pythonu pomocí modulu json . Tento nástroj můžete použít ke sdílení dat mezi různými programy a službami a k ukládání strukturovaných dat do systému souborů.
U složitějších objektů JSON, které obsahují vnořené datové struktury, seznamy a další typy, možná budete potřebovat složitější logiku vytváření a zpracování. Základy tvorby jednoduchých JSON objektů jsme však prozkoumali v tomto gajdu.
Jak zpracovat JSON-data v Pythonu
Chcete - li začít zpracovávat JSON data v Pythonu, musíte nejprve importovat modul json:
Dále lze použít různé metody pro čtení a zápis dat ve formátu JSON. Například pro čtení dat ze souboru JSON:
with open('data.json', 'r') as file: data = json.load(file)
Metoda json.load () čte data ze souboru a vrací je jako slovník nebo seznam v Pythonu.
Pokud máte řetězec JSON, můžete použít metodu json.loads () pro převod do datové struktury Pythonu:
Nyní proměnná data obsahuje slovník s daty, která lze použít v Pythonu.
Chcete-li zaznamenat data ve formátu JSON, použijte metodu json.dump () nebo json.dumps(). Metoda json.dump () zapisuje data do souboru a metoda json.dups () vrací data jako řetězec:
data = # záznam do souboru with open ('data.json', 'w') as file: json.dump ( data, file) # získání řádku JSON json_string = json.dumps(data)
Výsledkem je, že data zapsaná do souboru nebo přijatá jako řetězec budou mít formát JSON.
Zpracování JSON dat v Pythonu se tak stává jednoduchým úkolem díky vestavěné knihovně json. Můžete snadno číst data ze souboru JSON, převádět řádky JSON na datové struktury Pythonu a zapisovat data ve formátu JSON pro výměnu informací mezi různými systémy.
Jak získat přístup k hodnotám v objektu JSON
Nejprve musíme stáhnout JSON data ze souboru nebo řádku. Podívejme se na příklad stažení souboru JSON:
# Stažení JSON ze souboru
with open('data.json') as json_file:
Nyní máme nabitý objekt JSON v proměnné 'data'. K jeho hodnotám můžeme přistupovat pomocí indexování nebo operátorů bodu.
Řekněme, že máme JSON-objekt následujícího druhu:
Abychom získali přístup k hodnotám tohoto objektu, můžeme použít následující syntaxi:
| Syntaxe | Popis |
|---|---|
| data['name'] | Přístup k hodnotě podle klíče |
| data.get('name') | Podobně, ale vrátí 'None' , pokud není nalezen klíč |
| data.keys() | Vrátí seznam všech klíčů v objektu |
| data.values() | Vrátí seznam všech hodnot v objektu |
| data.items() | Vrací seznam párů klíč-hodnota v objektu |
Předpokládejme, že chceme získat hodnotu klíče "name". Můžeme to udělat následovně:
print (name) # vydá 'John'
Stejně tak můžeme přistupovat k jiným hodnotám:
print (age) # 30
print (city) # přinese 'New York'
Pomocí modulu 'json' v Pythonu tedy můžeme snadno přistupovat k hodnotám v objektu JSON a pracovat s nimi.
Jak přidat nebo změnit hodnoty v JSON objektu v Pythonu
Pro práci s JSON objekty v Pythonu existuje modul json, který poskytuje praktické metody pro přidání nebo změnu hodnot v JSON strukturách.
Nejprve je nutné importovat modul json:
import json
Poté můžete vytvořit objekt JSON pomocí metody json.loads (), který převádí řetězec JSON na objekt Python:
json_obj = json.loads('')
Nyní můžeme přistupovat k hodnotám v objektu JSON a měnit je. Chcete-li například změnit hodnotu " age " na 35, můžete se jednoduše obrátit na příslušný klíč a přiřadit novou hodnotu:
json_obj['age'] = 35
Pokud potřebujeme přidat novou hodnotu do objektu JSON, můžeme vytvořit nový klíč-hodnotu a přiřadit mu správnou hodnotu:
json_obj['city'] = 'New York'
Chcete-li uložit změny v objektu JSON zpět do řádku JSON, můžete použít metodu json.dups (), který převede objekt Pythonu zpět na řetězec JSON:
json_str = json.dumps(json_obj)
Nyní proměnná json_str obsahuje změněný objekt JSON ve formátu řádku.
Chcete-li tedy přidat nebo změnit hodnoty v objektu JSON v Pythonu, můžete použít metody modulu json k převádění, odkazování na hodnoty a ukládání struktur JSON.
Jak odstranit klíče a hodnoty z objektu JSON
V Pythonu existuje několik způsobů, jak odstranit klíče a hodnoty z objektu JSON.
1. S pomocí operátora del
Jedním z nejjednodušších způsobů, jak odstranit klíče a hodnoty z objektu JSON v Pythonu, je použití příkazu del . Tento příkaz vám umožňuje odstranit položku podle klíče ze slovníku.
import json# Создание JSON-объектаdata = ''json_data = json.loads(data)# Удаление элемента по ключуdel json_data['age']# Преобразование JSON-объекта в строку и печать результатаnew_data = json.dumps(json_data)print(new_data)
Jak je vidět z příkladu, klíč " age " a jeho hodnota byly odstraněny z objektu JSON.
2. Pomocí metody pop()
Dalším způsobem, jak odstranit klíče a hodnoty z objektu JSON, je použití metody pop() . Tato metoda vrátí hodnotu klíče a odstraní ji ze slovníku.
import json# Создание JSON-объектаdata = ''json_data = json.loads(data)# Удаление элемента по ключу с помощью метода pop()json_data.pop('age', None)# Преобразование JSON-объекта в строку и печать результатаnew_data = json.dumps(json_data)print(new_data)
V tomto příkladu byl klíč " age " a jeho hodnota odstraněny z objektu JSON pomocí metody pop() .
Pomocí příkazu del nebo metody pop() je tedy možné odstranit klíče a hodnoty z JSON objektu v Pythonu.
Všimnete si: Je důležité vzít v úvahu, že změny v objektu JSON nepovedou ke změnám zdrojových dat, pokud byl objekt stažen pomocí metody json.loads() . K uložení změn v původním objektu JSON by měla být použita metoda json.dump() .