JavaScript Object Notation
JavaScript Object Notation (JavaScriptový objektový zápis) je způsob zápisu dat (datový formát) nezávislý na počítačové platformě, určený pro přenos dat, která mohou být organizována v polích nebo agregována objektech. Složitost takovéto hierarchie je přitom teoreticky neomezená.
JSON umí pojmout pole (hodnot), objekty (coby pole dvojic název:hodnota) a jednotlivé hodnoty, kterými mohou být řetězce, čísla (celá i s plovoucí desetinnou tečkou) a speciální hodnoty true, false a null. Názvy polí v objektu mají notaci shodnou s řetězci; řetězce jsou uváděny v uvozovkách a eskapovány pomocí zpětného lomítka.
Navzdory názvu, JSON je zcela obecný a může sloužit pro přenos dat (navíc, čitelný pro člověka) v libovolném programovacím nebo skriptovacím jazyku.
Mezi nedostatky JSON patří to, že absence definice znaku/znaků konce řádků, nedefinování pravidel pro přenos binární data (tedy např. znaky s ASCII kódy 128-255) a nemožnost přenášet indexovaná pole/hashe.