JSON är ett av de mest populära formaten för att representera data som text. JSON används till exempel för att överföra data mellan frontend och backend, i konfigurationsfiler, i spel, i textredigerare och i många andra områden. Som programmerare kommer du definitivt att stöta på JSON.
Introduktion till syntaxen
Låt oss lista de datatyper som är tillgängliga i JSON:
-
Strängar är alla tecken som omges av dubbla citattecken:
"kwerty""125 + 42""G"Specialtecken undviks med ett snedstreck:
"första raden\nandra raden""Han sa,"Hej!"" -
Tal, inklusive negativa och reella tal. Inga citat:
18 -333 17,88 1,2e6 -
De booleska värdena är sant / falskt (inga citattecken).
-
null är standardvärdet för att representera "ingenting". Inga citattecken används här.
-
Array − Denna typ kan innehålla värden av alla andra typer. Den är inslagen i hakparenteser. Dess element är separerade med kommatecken:
["Kod", "Gym", "CodeGym", "¯\_(ツ)_/¯"][true, true, false, true, false, false, false, false, false][[1, 2], [3, 999, 4, -5], [77]]Det sista exemplet är en array av arrayer
-
Objekt — Denna komplexa typ är den vanligaste. Den innehåller nyckel-värdepar, där värdet kan vara vilken som helst av de typer som anges ovan, såväl som andra objekt. Den är inlindad i lockiga hängslen, och paren är åtskilda med kommatecken:
{ "name": "Dale", "age": 7 }
Representerar ett Java-objekt som JSON
Låt oss nu ta ett Java-objekt och se hur det ser ut som JSON.
Låt oss först definiera en klass:
public class Human {
String name;
boolean male;
int age;
Set<Human> parents;
public Human(String name, boolean male, int age) {
this.name = name;
this.male = male;
this.age = age;
}
}
Låt oss nu skapa vårt objekt:
Human father = new Human("Peter", true, 31);
Human mother = new Human("Mary", false, 28);
mother.parents = new HashSet<>();
Human son = new Human("Paul", true, 7);
son.parents = Set.of(father, mother);
Och låt oss nu försöka representerasonobjekt så exakt som möjligt i JSON-format:
"name" : "Paul",
"male" : true,
"age" : 7,
"parents" : [
{
"name" : "Peter",
"male" : true,
"age" : 31,
"parents" : null
},
{
"name" : "Maria",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
Kommentarer i JSON
Allt här är exakt detsamma som i Java. Det finns två typer av kommentarer: // och /*...*/. Jag hoppas att jag inte behöver påminna dig om hur de skiljer sig åt?