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

Vystudoval jsem biochemii. Vymyslel a založil Zdroják. Aktuálně ho vedu. Nejsem váš hodný tatínek. Nebudu vás brát za ručičku. Dělám tu zlého moderátora. Smiřte se s tím!

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

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