JSON è uno dei formati più popolari per rappresentare i dati come testo. Ad esempio, JSON viene utilizzato per trasferire dati tra il frontend e il backend, nei file di configurazione, nei giochi, negli editor di testo e in molte altre aree. Come programmatore, incontrerai sicuramente JSON.
Introduzione alla sintassi
Elenchiamo i tipi di dati disponibili in JSON:
-
Le stringhe sono tutti i caratteri racchiusi tra virgolette:
"kwerty""125+42""G"I caratteri speciali sono sfuggiti con una barra:
"prima riga\nseconda riga""Ha detto, \"Ciao!\"" -
Numeri, compresi i numeri negativi e reali. Nessuna citazione:
18 -333 17,88 1,2e6 -
I valori booleani sono true / false (senza virgolette).
-
null è il valore standard per rappresentare "nulla". Qui non vengono utilizzate virgolette.
-
Array - Questo tipo può contenere valori di qualsiasi altro tipo. È racchiuso tra parentesi quadre. I suoi elementi sono separati da virgole:
["Codice", "Palestra", "CodicePalestra", "¯\_(ツ)_/¯"][vero, vero, falso, vero, falso, falso, falso, falso, falso][[1, 2], [3, 999, 4, -5], [77]]L'ultimo esempio è un array di array
-
Oggetto: questo tipo complesso è il più comunemente utilizzato. Contiene coppie chiave-valore, in cui il valore può essere uno qualsiasi dei tipi sopra elencati, nonché altri oggetti. È racchiuso tra parentesi graffe e le coppie sono separate da virgole:
{ "name": "Dale", "age": 7 }
Rappresentare un oggetto Java come JSON
Ora prendiamo un oggetto Java e vediamo come appare come JSON.
Innanzitutto, definiamo una classe:
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;
}
}
Ora creiamo il nostro oggetto:
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);
E ora proviamo a rappresentare ilfigliooggetto nel modo più accurato possibile in formato JSON:
"name" : "Paul",
"male" : true,
"age" : 7,
"parents" : [
{
"name" : "Peter",
"male" : true,
"age" : 31,
"parents" : null
},
{
"name" : "Maria",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
Commenti in JSON
Tutto qui è esattamente come in Java. Esistono due tipi di commenti: // e /*...*/. Spero di non aver bisogno di ricordarti in che modo differiscono?
GO TO FULL VERSION