JSON-syntaxen är en delmängd av JavaScript-syntaxen.
JSON-syntax härleds från JavaScript-objektnotationssyntax:
Data är i namn/värdepar
Data separeras med kommatecken
Lockiga hängslen håller föremål
Hakparenteser håller arrayer
JSON-data skrivs som namn/värdepar (alias nyckel/värdepar).
Ett namn/värdepar består av ett fältnamn (i dubbla citattecken), följt av ett kolon, följt av ett värde:
"name":"John"
JSON-namn kräver dubbla citattecken.
JSON-formatet är nästan identiskt med JavaScript-objekt.
I JSON måste nycklar vara strängar, skrivna med dubbla citattecken:
{"name":"John"}
I JavaScript kan nycklar vara strängar, siffror eller identifieringsnamn:
{name:"John"}
I JSON måste värden vara en av följande datatyper:
ett snöre
ett nummer
ett objekt
en uppsättning
en boolesk
null
I JavaScript kan värden vara alla ovanstående, plus eventuellt annat giltigt JavaScript uttryck, inklusive:
en funktion
en dejt
odefinierad
I JSON måste strängvärden skrivas med dubbla citattecken:
{"name":"John"}
I JavaScript kan du skriva strängvärden med dubbla eller enkla citattecken:
{name:'John'}
Eftersom JSON-syntaxen härrör från JavaScript-objektnotation, mycket lite extra programvara behövs för att fungera med JSON inom JavaScript.
Med JavaScript kan du skapa ett objekt och tilldela data till det, så här:
person = {name:"John", age:31, city:"New York"};
Du kan komma åt ett JavaScript-objekt så här:
// returns John
person.name;
Prova själv →
<!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 också nås så här:
// returns John
person["name"];
Prova själv →
<!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 ändras så här:
person.name = "Gilbert";
Prova själv →
<!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 också ändras så här:
person["name"] = "Gilbert";
Prova själv →
<!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 kommer att lära dig hur du konverterar JavaScript-objekt till JSON senare i detta handledning.
På samma sätt som JavaScript-objekt kan skrivas som JSON, kan JavaScript-matriser även skrivas som JSON.
Du kommer att lära dig mer om objekt och arrayer senare i denna handledning.
Filtypen för JSON-filer är ".json"
MIME-typen för JSON-text är "application/json"