JSON-syntaksen er en delmængde af JavaScript-syntaksen.
JSON-syntaks er afledt af JavaScript-objektnotationssyntaks:
Data er i navn/værdi-par
Data er adskilt med kommaer
Krøllede seler holder genstande
Firkantede parenteser holder arrays
JSON-data skrives som navn/værdi-par (alias nøgle/værdi-par).
Et navn/værdi-par består af et feltnavn (i dobbelte anførselstegn), efterfulgt af et kolon, efterfulgt af en værdi:
"name":"John"
JSON-navne kræver dobbelte anførselstegn.
JSON-formatet er næsten identisk med JavaScript-objekter.
I JSON skal nøgler være strenge, skrevet med dobbelte anførselstegn:
{"name":"John"}
I JavaScript kan nøgler være strenge, tal eller identifikationsnavne:
{name:"John"}
I JSON skal værdier være en af følgende datatyper:
en snor
et nummer
et objekt
et array
en boolesk
nul
I JavaScript kan værdier være alle ovenstående plus enhver anden gyldig JavaScript udtryk, herunder:
en funktion
en dato
udefineret
I JSON skal strengværdier skrives med dobbelte anførselstegn:
{"name":"John"}
I JavaScript kan du skrive strengværdier med dobbelte eller enkelte anførselstegn:
{name:'John'}
Fordi JSON-syntaks er afledt af JavaScript-objektnotation, meget lidt ekstra software er nødvendig for at arbejde med JSON i JavaScript.
Med JavaScript kan du oprette et objekt og tildele data til det, sådan her:
person = {name:"John", age:31, city:"New York"};
Du kan få adgang til et JavaScript-objekt som dette:
// returns John
person.name;
Prøv det selv →
<!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>
Den kan også tilgås sådan:
// returns John
person["name"];
Prøv det selv →
<!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 kan ændres på følgende måde:
person.name = "Gilbert";
Prøv det selv →
<!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>
Det kan også ændres sådan:
person["name"] = "Gilbert";
Prøv det selv →
<!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>
Du vil lære, hvordan du konverterer JavaScript-objekter til JSON senere i dette tutorial.
På samme måde som JavaScript-objekter kan skrives som JSON, kan JavaScript-arrays også skrives som JSON.
Du vil lære mere om objekter og arrays senere i denne øvelse.
Filtypen for JSON-filer er ".json"
MIME-typen for JSON-tekst er "application/json"