JSON ist eines der beliebtesten Formate zur Darstellung von Daten als Text. Beispielsweise wird JSON zum Übertragen von Daten zwischen Frontend und Backend, in Konfigurationsdateien, in Spielen, in Texteditoren und in vielen anderen Bereichen verwendet. Als Programmierer werden Sie sicherlich auf JSON stoßen.

Einführung in die Syntax

Lassen Sie uns die in JSON verfügbaren Datentypen auflisten:

  1. Zeichenfolgen sind alle in doppelte Anführungszeichen eingeschlossenen Zeichen:

    „kwerty“
    „125 + 42“
    "G"

    Sonderzeichen werden mit einem Schrägstrich maskiert:

    „erste Zeile\nzweite Zeile“
    „Er sagte: „Hallo!““
  2. Zahlen, einschließlich negativer und reeller Zahlen. Keine Anführungszeichen:

    18 -333 17,88 1,2e6
  3. Die booleschen Werte sind wahr / falsch (ohne Anführungszeichen).

  4. null ist der Standardwert zur Darstellung von „nichts“. Anführungszeichen werden hier nicht verwendet.

  5. Array - Dieser Typ kann Werte anderer Typen enthalten. Es wird in eckige Klammern gesetzt. Seine Elemente werden durch Kommas getrennt:

    ["Code", "Gym", "CodeGym", "¯\_(ツ)_/¯"]
    [wahr, wahr, falsch, wahr, falsch, falsch, falsch, falsch, falsch]
    [[1, 2], [3, 999, 4, -5], [77]]

    Das letzte Beispiel ist ein Array von Arrays

  6. Objekt – Dieser komplexe Typ wird am häufigsten verwendet. Es enthält Schlüssel-Wert-Paare, wobei der Wert einer der oben aufgeführten Typen sein kann, sowie andere Objekte. Es wird in geschweifte Klammern eingeschlossen und die Paare werden durch Kommas getrennt:

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

Darstellung eines Java-Objekts als JSON

Nehmen wir nun ein Java-Objekt und sehen, wie es als JSON aussieht.

Definieren wir zunächst eine 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;
	}
}

Jetzt erstellen wir unser 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);

Und nun versuchen wir, das darzustellenSohnObjekt so genau wie möglich im JSON-Format:

{
 „Name“ : „Paul“,
 „männlich“ : wahr,
 „Alter“ : 7,
 „Eltern“ : [
 {
   „Name“ : „Peter“,
   „männlich“ : wahr,
   „Alter“ : 31,
   „Eltern“ : null
 },
 {
   "name" : "Maria",
   "male" : false,
   "age" : 28,
   "parents" : null
 }
]
}

Kommentare in JSON

Hier ist alles genau das gleiche wie in Java. Es gibt zwei Arten von Kommentaren: // und /*...*/. Ich hoffe, ich muss Sie nicht daran erinnern, wie unterschiedlich sie sind?