JSON er et af de mest populære formater til at repræsentere data som tekst. For eksempel bruges JSON til at overføre data mellem frontend og backend, i konfigurationsfiler, i spil, i teksteditorer og i mange andre områder. Som programmør vil du helt sikkert støde på JSON.
Introduktion til syntaksen
Lad os liste de datatyper, der er tilgængelige i JSON:
-
Strenge er alle tegn omgivet af dobbelte anførselstegn:
"kwerty""125 + 42""G"Specialkarakterer undslippes med en skråstreg:
"første linje\nanden linje""Han sagde,"Hej!"" -
Tal, inklusive negative og reelle tal. Ingen citater:
18 -333 17,88 1,2e6 -
De boolske værdier er sande / falske (ingen anførselstegn).
-
null er standardværdien til at repræsentere "intet". Der er ikke brugt anførselstegn her.
-
Array − Denne type kan indeholde værdier af enhver anden type. Den er pakket ind i firkantede parenteser. Dens elementer er adskilt af kommaer:
["Kode", "Gym", "CodeGym", "¯\_(ツ)_/¯"][sand, sand, falsk, sand, falsk, falsk, falsk, falsk, falsk][[1, 2], [3, 999, 4, -5], [77]]Det sidste eksempel er et array af arrays
-
Objekt — Denne komplekse type er den mest almindeligt anvendte. Den indeholder nøgle-værdi-par, hvor værdien kan være en hvilken som helst af de typer, der er angivet ovenfor, såvel som andre objekter. Den er pakket ind i krøllede seler, og parrene er adskilt af kommaer:
{ "name": "Dale", "age": 7 }
Repræsenterer et Java-objekt som JSON
Lad os nu tage noget Java-objekt og se, hvordan det ser ud som JSON.
Lad os først definere en klasse:
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;
}
}
Lad os nu skabe vores 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);
Og lad os nu prøve at repræsenteresønobjekt så nøjagtigt som muligt i JSON-format:
"name" : "Paul",
"mand" : sand,
"alder" : 7,
"forældre" : [
{
"navn" : "Peter",
"mandlig" : sand,
"alder" : 31,
"forældre" : null
},
{
"navn" : "Maria",
"mand" : falsk,
"alder" : 28,
"forældre" : null
}
]
}
Kommentarer i JSON
Alt her er nøjagtig det samme som i Java. Der er to typer kommentarer: // og /*...*/. Jeg håber ikke, jeg behøver at minde dig om, hvordan de adskiller sig?