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:

  1. 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!""
  2. Tal, inklusive negative og reelle tal. Ingen citater:

    18 -333 17,88 1,2e6
  3. De boolske værdier er sande / falske (ingen anførselstegn).

  4. null er standardværdien til at repræsentere "intet". Der er ikke brugt anførselstegn her.

  5. 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

  6. 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?