JSON .stringify()
Un uso común de JSON es intercambiar datos hacia/desde un servidor web.
Al enviar datos a un servidor web, los datos deben ser una cadena.
Convierta un objeto de JavaScript en una cadena con JSON.stringify()
.
Stringificar un objeto de JavaScript
Imagina que tenemos este objeto en JavaScript:
const obj = {name: "John", age: 30, city: "New York"};
Utilice la función de JavaScript JSON.stringify()
para convertirlo en una cadena.
const myJSON = JSON.stringify(obj);
El resultado será una cadena siguiendo la notación JSON.
myJSON
ahora es una cadena y está lista para ser enviada a un servidor:
Ejemplo
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
Aprenderá cómo enviar JSON a un servidor en los próximos capítulos.
Stringificar una matriz de JavaScript
También es posible encadenar arreglos de JavaScript:
Imagina que tenemos esta matriz en JavaScript:
const arr = ["John", "Peter", "Sally", "Jane"];
Utilice la función de JavaScript JSON.stringify()
para convertirlo en una cadena.
const myJSON = JSON.stringify(arr);
El resultado será una cadena siguiendo la notación JSON.
myJSON
ahora es una cadena y está lista para ser enviada a un servidor:
Ejemplo
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
Aprenderá cómo enviar una cadena JSON a un servidor en los próximos capítulos.
Almacenamiento de datos
Al almacenar datos, los datos deben tener un formato determinado e, independientemente de dónde elija almacenarlos, el texto siempre es uno de los formatos legales.
JSON hace posible almacenar objetos de JavaScript como texto.
Ejemplo
Almacenamiento de datos en el almacenamiento local
// Storing data:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Excepciones
Cadena de fechas
En JSON, los objetos de fecha no están permitidos. La JSON.stringify()
función convertirá cualquier fecha en cadenas.
Ejemplo
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
Puede volver a convertir la cadena en un objeto de fecha en el receptor.
Funciones de cadena
En JSON, las funciones no están permitidas como valores de objeto.
La JSON.stringify()
función eliminará cualquier función de un objeto de JavaScript, tanto la clave como el valor:
Ejemplo
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Esto se puede omitir si convierte sus funciones en cadenas antes de ejecutar la JSON.stringify()
función.
Ejemplo
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
Si envía funciones usando JSON, las funciones perderán su alcance y el receptor tendrá que usar eval() para volver a convertirlas en funciones.