Servidor JSON
Um uso comum do JSON é trocar dados de/para um servidor web.
Ao receber dados de um servidor web, os dados são sempre uma string.
Analise os dados com JSON.parse()
e os dados se tornam um objeto JavaScript.
Enviando dados
Se você tiver dados armazenados em um objeto JavaScript, poderá converter o objeto em JSON e enviá-lo para um servidor:
Exemplo
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
Recebendo dados
Se você receber dados no formato JSON, poderá convertê-los facilmente em um objeto JavaScript:
Exemplo
const myJSON =
'{"name":"John",
"age":31, "city":"New York"}';
const myObj =
JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
JSON de um servidor
Você pode solicitar JSON do servidor usando uma solicitação AJAX
Desde que a resposta do servidor seja escrita no formato JSON, você pode analisar a string em um objeto JavaScript.
Exemplo
Use o XMLHttpRequest para obter dados do servidor:
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();
Dê uma olhada em json_demo.txt
Matriz como JSON
Ao usar o JSON.parse()
on JSON derivado de uma matriz, o método retornará uma matriz JavaScript, em vez de um objeto JavaScript.
Exemplo
JSON retornado de um servidor como uma matriz:
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();
Dê uma olhada em json_demo_array.txt