JSON není podmnožinou JavaScriptu

JSON je často považováno za podmnožinu JavaScriptu. Daniel Pupius ve svém článku json ⊄ js upozorňuje, že tomu tak ve skutečnosti není. Ne každý validní JSON dokument je validním JavaScriptem. Daniel zmiňuje řetězce, které v JSON mohou obsahovat jakékoliv znaky unicode, kromě uvozovek a zpětného lomítka (ty se vkládají pomocí escape znaků), jenže v JavaScriptu jsou řetězce mnohem víc omezené. Ne každý řetězec v JSON je tak platným řetězcem v JavaScriptu. Pokud nebudete vstup od uživatele dostatečně filtrovat, může vaši aplikaci pěkně rozhodit.

Komentující na ycombinatoru zmiňují také problém s čísly – JSON formát nijak neomezuje počet platných číslic, což pro JavaScript neplatí, pokud na to zapomenete, můžete narazit na problém.

JSON string

JSON string

JSON number

JSON number

Martin Hassman založil a vede magazín Zdroják. Absolvoval VŠCHT Praha. Byl u založení projektu CZilla (dnes už nepamatujete, nevadí). Stavěl mosty a metal cestu pro HTML5 (to tu ještě máme). V GUG.cz organizoval akce pro vývojáře (a jestli neumřeli, kódují si dodnes…).

Zatím nebyl přidán žádný komentář, buďte první!

Přidat komentář
Zdroj: https://www.zdrojak.cz/?p=2795