Server JSON
Un uso comune di JSON è lo scambio di dati da/verso un server web.
Quando si ricevono dati da un server web, i dati sono sempre una stringa.
Analizza i dati con JSON.parse()
e i dati diventano un oggetto JavaScript.
Invio di dati
Se disponi di dati archiviati in un oggetto JavaScript, puoi convertire l'oggetto in JSON e inviarlo a un server:
Esempio
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
Ricevendo dati
Se ricevi dati in formato JSON, puoi convertirli facilmente in un oggetto JavaScript:
Esempio
const myJSON =
'{"name":"John",
"age":31, "city":"New York"}';
const myObj =
JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
JSON da un server
È possibile richiedere JSON dal server utilizzando una richiesta AJAX
Finché la risposta del server è scritta in formato JSON, puoi analizzare la stringa in un oggetto JavaScript.
Esempio
Utilizzare XMLHttpRequest per ottenere dati dal server:
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
const myObj = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myObj.name;
};
xmlhttp.open("GET", "json_demo.txt");
xmlhttp.send();
Dai un'occhiata a json_demo.txt
Matrice come JSON
Quando si utilizza JSON.parse()
on JSON derivato da un array, il metodo restituirà un array JavaScript, invece di un oggetto JavaScript.
Esempio
JSON restituito da un server come array:
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
const myArr = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myArr[0];
}
}
xmlhttp.open("GET", "json_demo_array.txt", true);
xmlhttp.send();
Dai un'occhiata a json_demo_array.txt