JSON je formát pro ukládání a přenos dat.
JSON se často používá při odesílání dat ze serveru na web strana.
JSON je zkratka pro JavaScript Object Notation
JSON je odlehčený formát pro výměnu dat
JSON je jazykově nezávislý *
JSON je „sebepopisující“ a snadno pochopitelný
* Syntaxe JSON je odvozena ze syntaxe zápisu objektu JavaScript, ale formát JSON je pouze text. Kód pro čtení a generování dat JSON lze napsat v libovolném programování Jazyk.
Tato syntaxe JSON definuje objekt zaměstnanci: pole 3 záznamů zaměstnanců (objektů):
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
}
Formát JSON je syntakticky identický s kódem pro vytváření JavaScript objekty.
Kvůli této podobnosti program JavaScript lze snadno převést data JSON na nativní JavaScript objekty.
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
Data JSON se zapisují jako páry název/hodnota, stejně jako objekt JavaScript vlastnosti.
Pár název/hodnota se skládá z názvu pole (ve dvojitých uvozovkách), následuje dvojtečka následovaná hodnotou:
"firstName":"John"
JSON názvy vyžadují dvojité uvozovky. Jména JavaScript ne.
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 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 objektů.
Každý objekt je záznamem osoby (s křestním jménem a příjmením).
Běžným použitím JSON je čtení dat z webového serveru, a zobrazit data na webové stránce.
Pro jednoduchost to lze demonstrovat pomocí řetězce jako vstupu.
Nejprve vytvořte řetězec JavaScriptu obsahující syntaxi JSON:
let 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:
const obj = JSON.parse(text);
Nakonec na své stránce použijte nový objekt JavaScript:
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h2>Create Object from JSON String</h2>
<p id="demo"></p>
<script>
let text = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}';
const obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
</body>
</html>
Více o JSON si můžete přečíst v našem JSON tutoriálu.