2012-05-11 16 views
20

Me gustaría construir una cadena json mediante programación. El producto final debe ser algo como:¿Cómo puedo construir una cadena json en javascript/jquery?

var myParamsJson = {first_name: "Bob", last_name: "Smith" }; 

Sin embargo, me gustaría hacer que un parámetro a la vez. Si se tratara de una matriz, me acaba de hacer algo como:

var myParamsArray = []; 
myParamsArray["first_name"] = "Bob"; 
myParamsArray["last_name"] = "Smith"; 

Ni siquiera me importaría que la construcción de la matriz y luego convertir a JSON. ¿Algunas ideas?

+0

use JSON.stringify() http://ajaxify.com/run/json/ –

+5

posible duplicado de [Convertir objeto JS en cadena JSON] (http://stackoverflow.com/questions/4162749/convert-js- object-to-json-string) y [posiblemente otros] (http://stackoverflow.com/search?q=javascript+convert+to+json). –

+2

http://stackoverflow.com/questions/558518/how-to-serialise-on-object-to-json-in-javascript –

Respuesta

49

que podría hacer una cosa similar con objetos:

var myObj = {}; 
myObj["first_name"] = "Bob"; 
myObj["last_name"] = "Smith"; 

y entonces podría usar el método JSON.stringify para convertir ese objeto en una cadena JSON.

var json = JSON.stringify(myObj); 
alert(json); 

mostrará:

{"first_name":"Bob","last_name":"Smith"} 

Este método se construye de forma nativa en todos los navegadores modernos (incluso IE8 lo soporta, incluso si IE8 es muy lejos de ser un navegador moderno). Y si necesita admitir algunos navegadores heredados, puede incluir el script json2.js.

11

Crear un objeto de la normalidad:

var o = { 
    first_name: 'Robert', 
    last_name: 'Dougan' 
}; 

y luego usar JSON.stringify para que sea una cadena:

var string = JSON.stringify(o); //"{"first_name":"Robert","last_name":"Dougan"}" 
Cuestiones relacionadas