JSON este unul dintre cele mai populare formate pentru reprezentarea datelor ca text. De exemplu, JSON este folosit pentru a transfera date între front-end și backend, în fișierele de configurare, în jocuri, în editoarele de text și în multe alte domenii. Ca programator, cu siguranță vei întâlni JSON.

Prezentarea sintaxei

Să enumerăm tipurile de date disponibile în JSON:

  1. Șirurile sunt orice caractere cuprinse între ghilimele duble:

    "kwerty"
    „125 + 42”
    "G"

    Caracterele speciale sunt scăpate cu o bară oblică:

    „prima linie\nal doilea rând”
    „El a spus „Bună ziua!””
  2. Numere, inclusiv numere negative și reale. Fara ghilimele:

    18 -333 17.88 1.2e6
  3. Valorile booleene sunt adevărate / false (fără ghilimele).

  4. null este valoarea standard pentru a reprezenta „nimic”. Nu sunt folosite ghilimele aici.

  5. Array - Acest tip poate conține valori de orice alte tipuri. Este învelit în paranteze pătrate. Elementele sale sunt separate prin virgule:

    [„Cod”, „Gym”, „CodeGym”, „¯\_(ツ)_/¯”]
    [adevărat, adevărat, fals, adevărat, fals, fals, fals, fals, fals]
    [[1, 2], [3, 999, 4, -5], [77]]

    Ultimul exemplu este o matrice de matrice

  6. Obiect — Acest tip complex este cel mai des folosit. Conține perechi cheie-valoare, unde valoarea poate fi oricare dintre tipurile enumerate mai sus, precum și alte obiecte. Este învelit în acolade, iar perechile sunt separate prin virgule:

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

Reprezentând un obiect Java ca JSON

Acum să luăm un obiect Java și să vedem cum arată ca JSON.

Mai întâi, să definim o clasă:


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;
	}
}

Acum să creăm obiectul nostru:


	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);

Și acum să încercăm să reprezentămfiulobiect cât mai precis posibil în format JSON:

{
 „nume” : „Paul”,
 „bărbat” : adevărat,
 „vârsta” : 7,
 „părinți” : [
 {
   „nume” : „Peter”,
   „bărbat” : adevărat,
   „vârsta” : 31,
   „părinți” : nul
 },
 {
   „nume” : „Maria”,
   „bărbat” : fals,
   „vârstă” : 28,
   „părinți” : nul
 }
]
}

Comentarii în JSON

Totul aici este exact la fel ca în Java. Există două tipuri de comentarii: // și /*...*/. Sper că nu trebuie să vă reamintesc cum diferă?