Přeskočit na obsah

JSON Formátovač: Minifikace a Zpřehlednění JSON Online Zdarma

Bezplatný formátovač JSON pro okamžitou minifikaci a zpřehlednění JSON. Komprimujte JSON, ověřte syntaxi a vytiskněte hezky s řádným odsazením. Rychlý, bezpečný nástroj v prohlížeči.

Formátovač JSON

Kalkulačka načítání...
📚

Dokumentace

Formátovač JSON: minimalizace a zkrášlení JSON

Formátovač JSON je nástroj, který přepisuje text JSON do jiného rozvržení, aniž by měnil data v něm obsažená. Tento formátovač JSON dělá dvě věci: minimalizuje JSON odstraněním nadbytečných bílých znaků a zkrášluje JSON přidáním odsazení a zalomení řádků, aby byl pro lidi čitelný.

Co je JSON?

JSON, zkráceně JavaScript Object Notation, je textový formát pro ukládání a odesílání dat. Webové servery jej používají k odesílání informací aplikacím a prohlížečům. Programy jej používají pro konfigurační soubory. Ukládá data jako objekty zapisované pomocí složených závorek {} a jako pole zapisovaná pomocí hranatých závorek []. Uvnitř objektu má každý údaj název zvaný klíč a hodnotu. Hodnotou může být řetězec, číslo, true, false, null nebo jiný objekt či pole.

Malý objekt JSON vypadá takto:

1{
2  "name": "John Doe",
3  "age": 30,
4  "isEmployee": true
5}
6

Jak tento formátovač JSON funguje

Některé nástroje JSON načtou text do vlastní datové struktury programovacího jazyka a poté tuto strukturu znovu zapíší jako text. Tento převod tam a zpět může data změnit. Může přepsat velmi velká čísla, zahodit čísla, která nelze reprezentovat, a změnit pořadí klíčů v objektu.

Tento nástroj se tomu vyhýbá. Vstup čte znak po znaku a kontroluje, zda odpovídá gramatice JSON. Při přepisu výstupu kopíruje každé číslo a každý řetězec přesně tak, jak byly zadány, a ve stejném pořadí. Minimalizace ani zkrášlení dokumentu nikdy nemění číslo, klíč, pořadí klíčů ani duplicitní klíč.

Pokud text není platný JSON, nástroj se zastaví a zobrazí chybu, místo aby hádal, co mělo být jeho obsahem.

Formátování probíhá v prohlížeči. Nástroj neodesílá vložený text na server. Vstup se přidá k URL stránky jako parametr dotazu, takže formátovaný dokument lze sdílet nebo uložit do záložek pomocí odkazu.

Jak minimalizovat JSON

  1. Vložte JSON do vstupního pole.
  2. Klikněte na „Minify“.
  3. Nástroj odstraní mezery, tabulátory a zalomení řádků mezi tokeny a výsledek zobrazí níže.
  4. Kliknutím na „Copy“ nad výsledkem jej zkopírujete.

Příklad výpočtu

Před:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Po:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Vzorec pro minimalizaci JSON

Ušetřené místo lze při minimalizaci vyjádřit takto:

Usˇetrˇeneˊ mıˊsto=(1−velikost po minimalizacipu˚vodnıˊ velikost)×100%\text{Ušetřené místo} = \left(1 - \frac{\text{velikost po minimalizaci}}{\text{původní velikost}}\right) \times 100\%

V uvedeném příkladu má formátovaná verze 98 bajtů a minimalizovaná verze 67 bajtů:

(1−6798)×100%≈32%\left(1 - \frac{67}{98}\right) \times 100\% \approx 32\%

Přesná úspora závisí na množství bílých znaků a odsazení v původním dokumentu. Dokument s hlubokým vnořením a odsazením o 4 mezery se zmenší více než dokument, který již byl kompaktní.

Jak zkrášlit JSON

  1. Vložte JSON do vstupního pole. Může již být minifikovaný nebo neuspořádaně naformátovaný.
  2. Klikněte na „Beautify“.
  3. Nástroj přidá odsazení o 2 mezery, zalomení řádku u každého klíče nebo položky pole a mezeru za každou dvojtečku.
  4. Kliknutím na „Copy“ nad výsledkem jej zkopírujete.

Příklad výpočtu

Před:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Po:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Prázdný objekt nebo pole zůstane na jednom řádku, jako {} nebo [], místo aby bylo rozděleno do tří řádků.

Běžné chyby JSON, které tento nástroj zachytí

JSON má striktní gramatiku, přísnější než typický programovací jazyk. Tento nástroj odmítne text, který porušuje kterékoli z těchto pravidel, a místo výsledku zobrazí zprávu „Invalid JSON“:

  • Chybějící čárka mezi dvěma hodnotami.
  • Čárka za poslední položkou v objektu nebo poli (v JSON není povolena, na rozdíl od JavaScriptu).
  • Klíč, který není uzavřen v dvojitých uvozovkách.
  • Jednoduché uvozovky kolem řetězce místo dvojitých uvozovek.
  • Neshodující se nebo chybějící hranaté a složené závorky.
  • Neplatná nebo neúplná úniková sekvence uvnitř řetězce, například osamocené zpětné lomítko.
  • Řídicí znak, například skutečné zalomení řádku nebo tabulátor, zadaný uvnitř řetězce místo zápisu \n nebo \t.
  • Číslo ve tvaru, který JSON nepovoluje, například s úvodní nulou (01), s desetinnou tečkou na konci (1.) nebo s úvodním znaménkem plus (+1).

JSON také nemá syntaxi pro komentáře. Text začínající // nebo /* není součástí gramatiky JSON, takže vložení JSON obsahujícího komentáře vytvoří chybu „Invalid JSON“, místo aby vznikl JSON s komentáři tiše odstraněnými. Chcete-li takový soubor formátovat, nejprve komentáře odstraňte.

Případy použití formátovače JSON

  • Vývoj webu: čtení odpovědí API při ladění a minimalizace konfiguračních souborů před nasazením.
  • Vývoj API: kontrola, zda je tělo požadavku nebo odpovědi správně vytvořený JSON.
  • Analýza dat: převod kompaktního exportu JSON do čitelného rozvržení pro kontrolu.
  • Konfigurační soubory: zkrášlení konfiguračního souboru před ruční úpravou a jeho následná minimalizace.

Alternativy

Editory kódu, například Visual Studio Code, mohou formátovat soubory JSON přímo v editoru. Nástroje příkazového řádku, například jq, mohou v rámci skriptu formátovat a filtrovat JSON. Knihovny JSON jsou součástí také programovacích jazyků, například modul json v Pythonu nebo vestavěný objekt JSON v JavaScriptu, které většina programů používá k analýze JSON do vlastních datových struktur. Online formátovač, jako je tento, se hodí pro rychlou jednorázovou kontrolu bez nutnosti cokoli instalovat.

Historie JSON

Douglas Crockford specifikoval JSON na začátku 2000 let podle způsobu, jakým JavaScript zapisuje literály objektů, ale navrhl jej tak, aby jej mohl číst a zapisovat jakýkoli programovací jazyk. Formát byl poprvé veřejně zdokumentován kolem 2001 a později byl standardizován jako RFC 4627 v (11 800 cm) 2006, jako ECMA-404 v (1 030 cm) 2013 a jako RFC 8259 v (21 000 cm) 2017. Jak webová rozhraní API během 2000 let rostla, JSON nahradil XML jako nejběžnější formát pro odesílání dat mezi servery a prohlížeči, především proto, že je kratší a přímo odpovídá datovým strukturám již vestavěným v JavaScriptu. S rostoucí velikostí a vnořením dokumentů JSON následovaly nástroje pro formátování a ověřování.

Často kladené otázky

Odstraní minimalizace z JSON komentáře? Ne. JSON nemá syntaxi komentářů a tento nástroj ji nepřidává. Pokud vstup obsahuje komentáře ve stylu // nebo /*, nástroj místo formátování ohlásí chybu „Invalid JSON“. Před vložením textu komentáře odstraňte.

Mění formátování moje čísla nebo pořadí klíčů? Ne. Nástroj kopíruje každé číslo a řetězec přesně tak, jak byly zapsány, a zachovává původní pořadí klíčů, včetně duplicitních klíčů, pokud jsou přítomny.

Jaké odsazení zkrášlovač používá? Dvě mezery na každou úroveň vnoření a jedna mezera za každou dvojtečkou.

Odesílají se moje data JSON na server? Ne. Formátování probíhá v prohlížeči. Vložený text se zkopíruje do adresy URL stránky jako parametr dotazu json, takže stránku lze sdílet nebo uložit do záložek. Nic se neodesílá.

Existuje limit velikosti? Neexistuje žádný pevný limit, ale celý dokument se při analýze uchovává v paměti, takže velmi velký soubor (o mnoha megabajtech) může být na starším zařízení pomalý.

Opraví se neplatný JSON jen částečně? Ne. Pokud vstup kdekoli porušuje gramatiku JSON, nástroj zobrazí chybu, místo aby vrátil částečný nebo odhadnutý výsledek.

Reference

  1. "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
  2. Bray, T., ed. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, prosinec 2017, https://www.rfc-editor.org/rfc/rfc8259.
  3. "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
  4. "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.