Servidor JSON
Un uso común de JSON es intercambiar datos hacia/desde un servidor web.
Al recibir datos de un servidor web, los datos siempre son una cadena.
Analice los datos con JSON.parse()
, y los datos se convierten en un objeto de JavaScript.
Enviando datos
Si tiene datos almacenados en un objeto de JavaScript, puede convertir el objeto en JSON y enviarlo a un servidor:
Ejemplo
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
Recibiendo información
Si recibe datos en formato JSON, puede convertirlos fácilmente en un objeto JavaScript:
Ejemplo
const myJSON =
'{"name":"John",
"age":31, "city":"New York"}';
const myObj =
JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
JSON desde un servidor
Puede solicitar JSON desde el servidor mediante una solicitud AJAX
Siempre que la respuesta del servidor esté escrita en formato JSON, puede analizar la cadena en un objeto JavaScript.
Ejemplo
Use XMLHttpRequest para obtener datos del 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();
Eche un vistazo a json_demo.txt
Matriz como JSON
Al usar el JSON.parse()
JSON derivado de una matriz, el método devolverá una matriz de JavaScript, en lugar de un objeto de JavaScript.
Ejemplo
JSON devuelto desde un servidor como una 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();
Eche un vistazo a json_demo_array.txt