tigtools

JSON validátor

Vložte JSON a zkontrolujte jeho syntaxi podle standardu JSON. Chyby jsou přesně označeny značkou a doplněny srozumitelným vysvětlením.

Běží ve vašem prohlížeči Bez registrace

Výsledek se zde zobrazí, jakmile vložíte JSON.

Jak používat

  1. Vložte JSON do pole, otevřete soubor nebo stiskněte „Vyzkoušet příklad“ a zobrazí se hlášení o chybě.
  2. Přečtěte si výsledek: zelená zpráva znamená platný JSON, případně se zobrazí první chyba s řádkem, sloupcem a značkou pod problémovým místem.
  3. Opravte chybu popsanou v nápovědě a zkontrolujte znovu; výsledek se při psaní průběžně aktualizuje.
  4. U platného JSON si přečtěte statistiky: typ kořene, počet klíčů, hloubku zanoření a velikost v bajtech.

Jak to funguje

Validátor kontroluje syntaxi podle standardu JSON (RFC 8259 / ECMA-404) pomocí nativního JSON parseru prohlížeče, takže dokument, který zde projde, je akceptován jak funkcí JSON.parse v JavaScriptu, tak parsery odpovídajícími standardu v jiných jazycích. Pokud parsování selže, přísný kontrolér vytvořený pro tento nástroj projde text jednou, najde první chybu a její přesný řádek a sloupec a poté zobrazí tento řádek se značkou ^ pod problémem.

Rady se zaměřují na chyby, kterých se lidé skutečně dopouštějí, když JSON píší ručně nebo kopírují z JavaScriptu: čárka za poslední položkou, řetězce v jednoduchých uvozovkách, klíče bez uvozovek, komentáře // nebo /* */, hodnoty jako NaN, Infinity nebo undefined, nezpracované konce řádků uvnitř řetězců a dva dokumenty JSON vložené za sebou (jako v souborech JSON Lines). Hlásí se pouze první chyba, protože jedna chyba často zmate vše, co následuje.

Nástroj kontroluje pouze syntaxi. Neověřuje podle schématu JSON Schema, takže nezjistí, zda chybí povinné pole. Také neupozorňuje na duplicitní klíče: standard je povoluje a většina parserů ponechávají poslední hodnotu. Statistiky počítají klíče v každém objektu na každé úrovni; hloubka je 1 pro plochý objekt nebo pole a s každou úrovní vnoření se zvyšuje o jednu.

Příklady

Konfigurace zkopírovaná z JavaScriptu

{name: 'demo', debug: true,} selže na řádku 1, sloupci 2 s hlášením „Klíče objektu musí být v dvojitých uvozovkách.“ Po uzavření klíče do uvozovek příští spuštění ukáže na řetězec v jednoduchých uvozovkách a poté na čárku navíc.

Soubor logu s jedním objektem na řádku

Vložení dvou řádků, jako je {"id":1} a {"id":2}, ohlásí na řádku 2 chybu „more content after the end of the JSON value“. Každý řádek je samostatně platný JSON (JSON Lines), ale dohromady musí být uzavřeny do [ ] a odděleny čárkou.

Kontrola datové části API

Odpověď o velikosti 2 MB se ověří okamžitě a zobrazí typ kořene: pole, 1 500 položek nejvyšší úrovně a hloubku zanoření 4 – rychlá kontrola před psaním kódu, který s ní pracuje.

Časté dotazy

Ověřuje tento nástroj podle JSON Schema?

Ne. Kontroluje, zda je text syntakticky správný JSON. Ověření povinných polí, typů nebo formátů vyžaduje validátor JSON Schema, který tento nástroj neobsahuje.

Proč se zobrazuje jen jedna chyba?

Po první syntaktické chybě už parser nemůže vědět, co autor zamýšlel, takže další „chyby“ jsou často jen vedlejší účinky té první. Opravte nahlášený problém a případná další chyba se okamžitě zobrazí.

Jsou komentáře nebo koncové čárky někdy platné?

V JSON ne. Formáty jako JSON5 a JSONC (používané v souborech nastavení některých editorů) je povolují, ale standardní JSON parsery je odmítají, takže jsou zde hlášeny jako chyby.

Je samostatná hodnota jako 42 nebo „hello“ platný JSON?

Ano. Od RFC 7159 může být kořenem libovolná hodnota JSON, nejen objekty a pole. Některé starší nástroje a API stále na nejvyšší úrovni očekávají objekt nebo pole.

Proč se sloupec může lišit od sloupce v mém editoru?

Sloupce se počítají v kódových jednotkách UTF-16, tedy stejným způsobem, jakým JavaScript počítá délku řetězce. Emoji a některé méně obvyklé znaky se počítají jako dva a tabulátor jako jeden sloupec, zatímco editory jej mohou zobrazit širší.

Soukromí

Ověřování probíhá zcela ve vašem prohlížeči. Vložený nebo otevřený JSON se nenahrává, neukládá ani nezahrnuje do analýz.