JSON er et av de mest populære formatene for å representere data som tekst. For eksempel brukes JSON til å overføre data mellom frontend og backend, i konfigurasjonsfiler, i spill, i tekstredigerere og i mange andre områder. Som programmerer vil du definitivt møte JSON.

Vi introduserer syntaksen

La oss liste opp datatypene som er tilgjengelige i JSON:

  1. Strenger er alle tegn omsluttet av doble anførselstegn:

    "kwerty"
    "125 + 42"
    "G"

    Spesialtegn unnslippes med en skråstrek:

    "første linje\nandre linje"
    "Han sa," Hallo! ""
  2. Tall, inkludert negative og reelle tall. Ingen sitater:

    18 -333 17,88 1,2e6
  3. De boolske verdiene er sanne / usann (ingen anførselstegn).

  4. null er standardverdien for å representere "ingenting". Her brukes ingen anførselstegn.

  5. Array − Denne typen kan inneholde verdier av alle andre typer. Den er pakket inn i firkantede parenteser. Elementene er atskilt med kommaer:

    ["Kode", "Gym", "CodeGym", "¯\_(ツ)_/¯"]
    [true, true, false, true, usant, usant, usant, usant, usant]
    [[1, 2], [3, 999, 4, -5], [77]]

    Det siste eksemplet er en rekke matriser

  6. Objekt — Denne komplekse typen er den mest brukte. Den inneholder nøkkel-verdi-par, der verdien kan være hvilken som helst av typene som er oppført ovenfor, så vel som andre objekter. Den er pakket inn i krøllete seler, og parene er atskilt med kommaer:

    
    {
     "name": "Dale",
     "age": 7
    }
    

Representerer et Java-objekt som JSON

La oss nå ta et Java-objekt og se hvordan det ser ut som JSON.

Først, la oss 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;
	}
}

La oss nå lage 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);

Og la oss nå prøve å representeresønnobjekt så nøyaktig som mulig i JSON-format:

{
 "name" : "Paul",
 "male" : true,
 "age" : 7,
 "parents" : [
 {
   "name" : "Peter",
   "male" : true,
   "age" : 31,
   "parents" : null
 },
 {
   "name" : "Maria",
   "mannlig" : falsk,
   "alder" : 28,
   "foreldre" : null
 }
]
}

Kommentarer i JSON

Alt her er akkurat det samme som i Java. Det er to typer kommentarer: // og /*...*/. Jeg håper jeg ikke trenger å minne deg på hvordan de er forskjellige?