Syntaxe JSON je podmnožinou syntaxe JavaScriptu.
Syntaxe JSON je odvozena ze syntaxe zápisu objektu JavaScriptu:
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 (neboli páry klíč/hodnota).
Pár název/hodnota se skládá z názvu pole (ve dvojitých uvozovkách), následuje dvojtečka následovaná hodnotou:
"name":"John"
JSON názvy vyžadují dvojité uvozovky.
Formát JSON je téměř totožný s objekty JavaScriptu.
V JSON musí být klíče řetězce napsané v uvozovkách:
{"name":"John"}
V JavaScriptu mohou být klíče řetězce, čísla nebo názvy identifikátorů:
{name:"John"}
V JSON musí být hodnoty jedním z následujících datových typů:
řetězec
číslo
objekt
pole
booleovský
nula
V JavaScriptu mohou být hodnoty všechny výše uvedené plus jakýkoli jiný platný JavaScript výraz, včetně:
funkci
datum
nedefinováno
V JSON musí být hodnoty řetězce zapsány s dvojitými uvozovkami:
{"name":"John"}
V JavaScriptu můžete psát hodnoty řetězců pomocí dvojitých nebo jednoduchých uvozovek:
{name:'John'}
Protože syntaxe JSON je odvozena od zápisu objektů JavaScriptu, velmi málo navíc pro práci s JSON v rámci JavaScriptu je potřeba software.
Pomocí JavaScriptu můžete vytvořit objekt a přiřadit mu data to, takhle:
person = {name:"John", age:31, city:"New York"};
K objektu JavaScriptu můžete přistupovat takto:
// returns John
person.name;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h2>Access a JavaScript object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
Lze k němu přistupovat také takto:
// returns John
person["name"];
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h2>Access a JavaScript object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj["name"];
</script>
</body>
</html>
Data lze upravit takto:
person.name = "Gilbert";
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York" };
myObj.name = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
Může být také upraven takto:
person["name"] = "Gilbert";
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
myObj["name"] = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
Později se dozvíte, jak převést objekty JavaScriptu na JSON tutorial.
Stejným způsobem, jakým lze zapsat objekty JavaScriptu jako JSON, mohou pole JavaScriptu být také zapsán jako JSON.
Více o objektech a polích se dozvíte později v tomto tutoriálu.
Typ souboru pro soubory JSON je „.json“
Typ MIME pro text JSON je "application/json"