JSON.stringify()

El uso común de JSON es intercambiar datos con un servidor web.

Al enviar datos a un servidor web, los datos deben ser una cadena.

A través de JSON.stringify() Convertir el objeto JavaScript en una cadena.

Serialización de objeto de JavaScript

Imaginemos que tenemos este objeto en JavaScript:

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

Utilice la función de JavaScript JSON.stringify() Conviértalo en una cadena.

var myJSON = JSON.stringify(obj);

El resultado será una cadena que cumpla con las reglas de marcado JSON.

myJSON es actualmente una cadena y está lista para enviarse al servidor:

Ejemplo

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Pruebe usted mismo

Aprenderá en el siguiente capítulo cómo enviar JSON al servidor.

Serialización de array de JavaScript

También se puede serializar un array de JavaScript:

Imaginemos que tenemos este array en JavaScript:

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

Utilice la función de JavaScript JSON.stringify() Conviértalo en una cadena.

var myJSON = JSON.stringify(arr);

El resultado será una cadena que cumpla con las reglas de marcado JSON.

myJSON es actualmente una cadena y está lista para enviarse al servidor:

Ejemplo

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

Pruebe usted mismo

Aprenderá en el siguiente capítulo cómo enviar JSON al servidor.

Excepción

Cadena de serialización de fecha

En JSON, no se permite el objeto de fecha.JSON.stringify() La función convertirá cualquier fecha en una cadena.

Ejemplo

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Pruebe usted mismo

Puede convertir la cadena en un objeto de fecha en el extremo de recepción.

Cadena de función

No se permite que las funciones sean valores de objetos en JSON.

JSON.stringify() La función eliminará cualquier función del objeto JavaScript, incluyendo claves y valores:

Ejemplo

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Pruebe usted mismo

Si está ejecutando JSON.stringify() La función se convirtió en una cadena antes de la función, este paso puede omitirse.

Ejemplo

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Pruebe usted mismo

Debería evitar usar funciones en JSON, ya que las funciones perderán su ámbito y también necesitará usar eval() Convertirlos de nuevo a funciones.

Compatibilidad del navegador

Todos los navegadores principales y los estándares más recientes de ECMAScript (JavaScript) incluyen JSON.stringify() Función:

Los números en la siguiente tabla especifican el soporte completo JSON.stringify() Primera versión del navegador del función:

8.0 3.5 4.0 10.0