Košík je prázdný

N (JavaScript Object Notation) je lehký formát pro výměnu dat, který je snadno čitelný pro lidi a snadno zpracovatelný pro počítače. V Pythonu je manipulace s JSON daty přímočará díky vestavěné knihovně json, která nabízí jednoduché rozhraní pro kódování a dekódování JSON dat. V tomto článku prozkoumáme, jak s JSON daty pracovat v Pythonu, včetně jejich čtení, zápisu a zpracování.

Základy JSON

JSON je formát založený na textu, který používá dvojice klíč/hodnota a uspořádané seznamy (podobně jako slovníky a seznamy v Pythonu). To umožňuje reprezentaci složitých datových struktur v jednoduché a přehledné formě.

Čtení JSON dat

Pro načtení JSON dat ze souboru nebo řetězce použijeme metodu json.load() pro soubory nebo json.loads() pro řetězce. Příklad načtení JSON dat ze souboru:

import json

# Načtení JSON dat ze souboru
with open('data.json', 'r') as file:
    data = json.load(file)

print(data)

Zápis JSON dat

Pro zápis JSON dat do souboru nebo převod Python objektu na JSON řetězec použijeme metodu json.dump() pro soubory nebo json.dumps() pro vytvoření řetězce. Příklad zápisu dat do souboru:

import json

data = {
    'name': 'Jan Novák',
    'age': 30,
    'city': 'Praha'
}

# Zápis JSON dat do souboru
with open('output.json', 'w') as file:
    json.dump(data, file, ensure_ascii=False, indent=4)

 

Práce s komplexními daty

JSON v Pythonu může obsahovat všechny základní datové typy, jako jsou řetězce, čísla, pole (v JSON terminologii "arrays") a objekty (slovníky v Pythonu), což umožňuje reprezentovat velmi složité datové struktury.

Přizpůsobení serializace

Při převodu složitějších datových typů, jako jsou vlastní objekty, můžeme narazit na potřebu přizpůsobit serializaci. Knihovna json nabízí možnost definovat vlastní enkodér, dědící z json.JSONEncoder, který umožňuje specifikovat, jak se mají tyto složité objekty serializovat.

Závěr

Práce s JSON daty v Pythonu je díky vestavěné knihovně json jednoduchá a efektivní. Umožňuje snadno načítat, zapisovat a zpracovávat data ve formátu, který je široce používán v webových aplikacích a pro výměnu dat mezi různými systémy. S rozsáhlou podporou pro různé datové typy a možností přizpůsobení serializace je Python skvělým nástrojem pro práci s JSON daty.