Co je JSON?
JSON je zkratka pro J ava S cript O bject Notation
JSON je odlehčený formát pro ukládání a přenos dat
JSON se často používá, když jsou data odesílána ze serveru na webovou stránku
JSON je "sebepopisující" a snadno pochopitelný
Příklad JSON
Tento příklad definuje objekt zaměstnanci: pole 3 záznamů zaměstnanců (objektů):
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
}
Pravidla syntaxe JSON
- Data jsou v párech název/hodnota
- Data jsou oddělena čárkami
- Kudrnaté závorky drží předměty
- Hranaté závorky obsahují pole
Zápis objektů JavaScript
Formát JSON je syntakticky identický s kódem pro vytváření objektů JavaScriptu.
Díky této podobnosti může program JavaScript snadno převést data JSON na nativní objekty JavaScriptu.
Syntaxe JSON je odvozena ze syntaxe zápisu objektu JavaScriptu, ale formát JSON je pouze textový. Kód pro čtení a generování dat JSON lze napsat v libovolném programovacím jazyce.
Data JSON – název a hodnota
Data JSON se zapisují jako páry název/hodnota, stejně jako vlastnosti objektu JavaScript.
Pár název/hodnota se skládá z názvu pole (ve dvojitých uvozovkách), za nímž následuje dvojtečka a za ním hodnota:
"firstName":"John"
JSON názvy vyžadují dvojité uvozovky. Jména JavaScript ne.
Objekty JSON
Objekty JSON se zapisují do složených závorek.
Stejně jako v JavaScriptu mohou objekty obsahovat více párů název/hodnota:
{"firstName":"John", "lastName":"Doe"}
Pole JSON
Pole JSON se zapisují do hranatých závorek.
Stejně jako v JavaScriptu může pole obsahovat objekty:
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
Ve výše uvedeném příkladu je objektem "zaměstnanci" pole. Obsahuje tři objekty.
Každý objekt je záznamem osoby (s křestním jménem a příjmením).
Převod textu JSON na objekt JavaScript
Běžným použitím JSON je čtení dat z webového serveru a zobrazení dat na webové stránce.
Pro jednoduchost to lze demonstrovat pomocí řetězce jako vstupu.
Nejprve vytvořte řetězec JavaScriptu obsahující syntaxi JSON:
var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
Poté pomocí vestavěné funkce JavaScriptu JSON.parse() převeďte řetězec na objekt JavaScript:
var obj = JSON.parse(text);
Nakonec na své stránce použijte nový objekt JavaScript:
Příklad
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
Kompletní výukový program JSON
Toto byl krátký popis JSON.
Úplný výukový program JSON najdete na výukovém programu JSON W3Schools .