Co je soubor JSON, čím ho otevřít a jak ho upravovat
Shrnutí: Od rozsypaného textu v Poznámkovém bloku ke třem způsobům otevření souboru JSON, plus jak po úpravě ověřit, že se nic nerozbilo, a co dělat, když se obrovský soubor neotevře.

Stručně: než soubor JSON otevřete, ověřte jeho kódování a BOM a poté zkontrolujte, že strukturu tvoří pouze objekt nebo pole; po úpravě ho vždy validujte parserem, místo abyste závorky a čárky kontrolovali zrakem.
Je to prostý textový soubor s příponou
.jsona otevře ho i Poznámkový blok. Skutečný problém není „nejde otevřít“, ale že jakmile je otevřený, nevidíte, co jste rozbili.
1. Co vlastně soubor JSON obsahuje
Platný soubor JSON může obsahovat jen jednu ze dvou věcí: objekt {...} nebo pole [...]. Nic jiného není povoleno – žádná deklarace proměnných, žádné komentáře, žádné funkce.
{
"name": "order service",
"port": 8080,
"debug": false,
"upstream": ["10.0.0.11", "10.0.0.12"],
"timeout": null
}
Strukturálně stačí rozpoznat tři věci:
| Co vidíte | Význam | Odpovídající programový koncept |
|---|---|---|
Dvojice klíč-hodnota uzavřené v { } |
Objekt; klíče musí být řetězce v dvojitých uvozovkách | Map / struct |
Posloupnost hodnot uzavřená v [ ] |
Pole; typy prvků se mohou lišit | List |
| Šest typů hodnot | Řetězec, číslo, boolean, null, objekt, pole | Pouze těchto šest; žádná data a žádná celá čísla |
Přípona souboru neurčuje obsah: package.json, tsconfig.json i composer.json jsou stejný druh věci; různé nástroje se jen dohodly, že z nich budou číst různé klíče.
2. Tři způsoby otevření podle situace
Jen se rychle podívat: otevřete ho v prohlížeči. Přetáhněte soubor do okna Chrome nebo Edge a prohlížeč jej zobrazí tak, jak je; pokud je nainstalováno rozšíření JSON Viewer, automaticky se naformátuje a zpřístupní sbalování.
Potřebujete obsah upravit: použijte editor. VS Code, Sublime i Notepad++ mají zvýrazňování syntaxe JSON a párování závorek a ve VS Code dokument naformátujete pomocí Shift + Alt + F. Pozor, Poznámkový blok ve Windows může při ukládání přidat BOM, takže se změny konfigurace nemusí projevit; raději se mu vyhněte.
Nechcete nic instalovat, jen chcete validovat: použijte online formátovač JSON. Vložte obsah a hned uvidíte čísla řádků a sloupců, umístění chyb i sbalitelný strom; až skončíte, výsledek zkopírujte. Data se zpracovávají lokálně v prohlížeči a neodesílají se na server.
Velké soubory (desítky MB a více): neotevírejte je násilím v editoru. Otevření 100MB souboru JSON ve VS Code zablokuje program tak, že začnete pochybovat o svých životních volbách; nejprve prozkoumejte strukturu z příkazového řádku:
# Podívejte se na prvních 20 řádků a ověřte, zda jde o pole
head -n 20 data.json
# Pomocí jq vypište klíče nejvyšší úrovně bez načtení celého souboru
jq -r 'keys[]' data.json | head
# Spočítejte délku pole
jq 'length' data.json
3. Co dělat, když po dvojkliku uvidíte rozsypaný text
Tři příčiny, každá se řeší jinak:
- Ve skutečnosti je to binární soubor (například komprimovaný archiv nebo exportovaná databáze s příponou
.json). Pomocífile data.jsonzjistěte skutečný typ; nechte ho jako text jen násilím. - Kódování není UTF-8. Čínský text kódovaný v GBK je v prostředí UTF-8 rozsypaný. V editoru zkuste jednou „znovu otevřít s kódováním“ GBK; pokud se zobrazí správně, uložte ho jako UTF-8.
- Soubor je zašifrovaný nebo zkomprimovaný. Projevem je
PK(zip) nebo hromada otazníků na začátku; takové soubory je nejprve třeba dekomprimovat nebo dešifrovat.
4. Jak po úpravě ověřit, že se nic nerozbilo
JSON má nulovou toleranci: jedna chybějící čárka, jedna čárka navíc nebo jedna chybějící uvozovka a celý soubor je mrtvý, přičemž hlášené místo chyby často ukazuje na následující řádek. Proto je po úpravě nutné validovat; nespoléhejte na oči.
Tři rizikové úpravy, seřazené podle četnosti problémů:
| Úkon | Běžný následek | Jak se vyhnout |
|---|---|---|
| Vložení bloku konfigurace | Přinese koncovou čárku nebo celošířkovou interpunkci | Ihned po vložení jednou naformátujte |
| Ruční prohození pořadí klíčů | Čárka navíc nebo chybějící čárka | Použijte příkazy editoru pro přesun řádků; nepište to ručně |
| Smazání posledního prvku pole | Zůstane ,] |
Po smazání zkontrolujte, že se závorky párově uzavírají |
Validace je jednoduchá: vložte obsah do online validátoru a hledejte červený text, nebo spusťte jeden řádek z příkazového řádku:
python3 -m json.tool config.json > /dev/null && echo OK
Pokud vypíše OK, je soubor platný. Pokud chcete validovat i typy polí (například port musí být číslo a name nesmí být prázdné), je zápis JSON Schema mnohem spolehlivější než lidské oko.
5. Jak se .json liší od blízkých příbuzných
| Přípona | Rozdíl | Umí ji standardní parser přečíst |
|---|---|---|
.json |
Standardní JSON | Ano |
.jsonc |
Povoluje komentáře // a /* */ |
Ne; komentáře je nejprve nutné odstranit |
.json5 |
Povoluje komentáře, jednoduché uvozovky, klíče bez uvozovek, koncové čárky | Ne; je třeba parser JSON5 |
.jsonl / .ndjson |
Jeden samostatný JSON na řádek; soubor jako celek není platný JSON | Ne jako celek; musí se číst řádek po řádku |
Nedivte se, že tsconfig.json obsahuje komentáře; ve skutečnosti se zpracovává jako .jsonc. Stejný obsah předejte JSON.parse a vyvolá chybu. Když mezi nimi potřebujete převádět, použijte JSON5 do JSON k odstranění komentářů a koncových čárek jedním kliknutím.
6. Kdy je čas změnit úložný formát
JSON se hodí pro scénáře, kde „struktura není pevná, lidé ji potřebují číst a cestuje mezi jazyky“. Pokud soubor přesáhne desítky MB, struktura polí je stabilní a potřebujete podmíněné dotazy, setrvávat u JSON znamená vyrábět si potíže – přejděte na SQLite, Parquet nebo data nahrajte do databáze; výkon čtení a zápisu se liší řádově. Konkrétním kompromisům se věnuje Parsování a streamování velkého JSON.
Časté dotazy
Jak prozkoumat soubor JSON, který je příliš velký na otevření?
Neotevírejte ho násilím v editoru; otevření 100MB souboru JSON ve VS Code zablokuje program tak, že začnete pochybovat o svých životních volbách. Nejprve prozkoumejte strukturu z příkazového řádku: head -n 20 ověří, zda jde o pole, jq -r 'keys[]' vypíše pouze klíče nejvyšší úrovně a jq 'length' spočítá délku pole. Žádný z těchto příkazů nenačítá celý soubor.
Proč se moje úpravy v Poznámkovém bloku neprojeví v konfiguraci?
Poznámkový blok ve Windows může při ukládání přidat BOM a soubor s BOM selže při parsování konfigurace, takže upravený obsah se nikdy neprojeví. Doporučení článku je používat editory jako VS Code, Sublime nebo Notepad++, které mají zvýrazňování syntaxe JSON a párování závorek. Pokud jste Poznámkový blok už použili, uložte znovu jako „UTF-8 bez BOM“ a zkuste to znovu.
Můžu soubor JSON považovat za JSON5 a přidat komentáře?
Ne – standardní parser nedovoluje komentáře v souboru .json a JSON.parse okamžitě vyvolá chybu. Komentáře patří do souborů .jsonc nebo .json5, které čte odpovídající parser. Soubory jako tsconfig.json se ve skutečnosti zpracovávají jako .jsonc; stejný obsah předejte JSON.parse a selže.