Přeskočit na obsah

JS objekt do JSON

Převeď JavaScript objektový literál na striktný, platný JSON.

Vstup

JS objekt do JSON

Vložte JavaScript objekt a tento nástroj jej převede na přísnou JSON syntax, kterou můžete použít v API odpovědi, konfiguračním souboru nebo testovací fixtuře. Přijímá syntax, kterou ve skutečnosti používá JavaScript: neodsouhlasené klíče, řetězce v jednoduchých uvozovkách, koncové čárky, řádkové a blokové komentáře a prosté template stringy bez ${…} výrazů — z nichž žádný není sám o sobě v JSON platný.

Možnost odsazení formátuje výsledek s 2 mezerami, 4 mezerami, tabulátorem nebo jedním minimalizovaným řádkem. Hodnoty undefined nemají JSON ekvivalent, takže možnost undefined-values vám umožňuje buď tyto klíče zcela vynechat, nebo je převést na null, podle toho, co váš konsument očekává. Vypnutí "Odstranit komentáře" způsobí, že se náhodné komentáře nahlásí jako chyba namísto jejich tichého zahození, což je užitečné, když chcete potvrdit, že je vstup jinak čistý. Funkce Sort keys uspořádá všechny vlastnosti objektu abecedně na každé úrovni vnořování, což usnadňuje porovnávání dvou JSON datových sad. Přepnutí směru na JSON → JS objekt obrátí konverzi a vytvoří JavaScript literál s vypuštěnými uvozovkami z libovolného klíče, který je platný identifikátor — užitečné pro vkládání konfigurace přímo do zdrojového kódu.

Chybný vstup — chybějící dvojtečka, neukončený řetězec, template výraz — se hlásí s řádkem a sloupcem, kde se parsování zastavilo, takže můžete najít problém místo hádání. Výstup je omezen na 10 MB, aby zůstala záložka responzivní; velmi velké objekty by měly být nejdříve rozděleny na menší části.

Vše se spouští místně v prohlížeči — nic, co vložíte, se nikam neposílá. Až skončíte, zkopírujte výsledek, stáhněte jej jako soubor .txt nebo jej pošlete přímo do vstupu jiného nástroje, abyste mohli pokračovat v práci.

Časté dotazy

Jakou JavaScript syntaxi rozumí?
Objekty a pole s neodsouhlaseným nebo uvozovacím znakem klíče, jednoduchým a dvojitým uvozovacím znakem řetězce, prostými šablonami řetězce, čísly (včetně záporných, desítkových a podtržítka), true/false/null/undefined, koncovým znakem čárky a // a /* */ komentáře.
Co se stane s nedefinovanými hodnotami?
Ve výchozím nastavení je klíč, jehož hodnota je nedefinovaná, z JSON zcela vynechán, protože JSON nemá nedefinovanosť. Prepni "Nedefinované hodnoty" na "Převést na null", pokud potřebuješ, aby klíč zůstal přítomný.
Může to převést JSON zpět na JS objektový literál?
Ano — přepni Směr na "JSON → JS objekt". Klíče, které jsou platnými JavaScriptem identifikátory, se tisknou bez uvozovacích znaků; zbytek si zachovává jednoduché úvodníky.
Vyhodnocuje to objekt jako kód?
Ne. Tvůj vstup je analyzován jako text dedikovaným parserem — nikdy se nevykonáva, takže funkce, proměnné a výrazy šablony jako ${…} nejsou podporovány a jsou hlášeny jako chyby místo spuštění.
Jsou moje data nahrána někam?
Ne. Konverze běží zcela v tvém prohlížeči — tvůj objekt nikdy neopustí tvoje zařízení.