Letterali oggetto JSON
Questa è una stringa JSON:
'{"name":"John", "age":30, "car":null}'
All'interno della stringa JSON c'è un valore letterale dell'oggetto JSON:
{"name":"John", "age":30, "car":null}
I valori letterali degli oggetti JSON sono racchiusi tra parentesi graffe {}.
I valori letterali dell'oggetto JSON contengono coppie chiave/valore.
Chiavi e valori sono separati da due punti.
Le chiavi devono essere stringhe e i valori devono essere un tipo di dati JSON valido:
- corda
- numero
- oggetto
- Vettore
- booleano
- nullo
Ogni coppia chiave/valore è separata da una virgola.
È un errore comune chiamare un oggetto JSON letterale "un oggetto JSON".
JSON non può essere un oggetto. JSON è un formato stringa.
I dati sono solo JSON quando sono in formato stringa. Quando viene convertito in una variabile JavaScript, diventa un oggetto JavaScript.
Oggetti JavaScript
Puoi creare un oggetto JavaScript da un valore letterale di un oggetto JSON:
Esempio
myObj = {"name":"John", "age":30, "car":null};
Normalmente, crei un oggetto JavaScript analizzando una stringa JSON:
Esempio
myJSON = '{"name":"John", "age":30, "car":null}';
myObj = JSON.parse(myJSON);
Accesso ai valori degli oggetti
È possibile accedere ai valori degli oggetti utilizzando la notazione punto (.):
Esempio
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
x = myObj.name;
Puoi anche accedere ai valori degli oggetti usando la notazione tra parentesi ([]):
Esempio
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
x = myObj["name"];
Ciclo di un oggetto
Puoi scorrere le proprietà dell'oggetto con un ciclo for-in:
Esempio
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
let text = "";
for (const x in myObj) {
text += x + ", ";
}
In un ciclo for-in, usa la notazione tra parentesi per accedere ai valori della proprietà :
Esempio
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
let text = "";
for (const x in myObj) {
text += myObj[x] + ", ";
}