2012-05-11 10 views
20

Mi piacerebbe costruire una stringa JSON a livello di programmazione. Il prodotto finale dovrebbe essere qualcosa di simile:Come posso costruire una stringa json in javascript/jquery?

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

Tuttavia mi piacerebbe farlo un parametro alla volta. Se si trattasse di un array, vorrei solo fare qualcosa di simile:

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

non avrei nemmeno mente la costruzione di tale matrice e poi la conversione in JSON. Qualche idea?

+0

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

+5

possibile duplicato di [Converti oggetto JS in stringa JSON] (http://stackoverflow.com/questions/4162749/convert-js- object-to-json-string) e [possibilmente altri] (http://stackoverflow.com/search?q=javascript+convert+to+json). –

+2

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

risposta

49

Si potrebbe fare una cosa simile con gli oggetti:

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

e quindi è possibile utilizzare il metodo JSON.stringify per trasformare quell'oggetto in una stringa JSON.

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

mostrerà:

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

questo metodo è nativamente costruiti in tutti i browser moderni (anche IE8 supporta, anche se IE8 è molto lontano dall'essere un browser moderno). E se hai bisogno di supportare alcuni browser legacy potresti includere lo script json2.js.

11

Creare un oggetto normale:

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

e quindi utilizzare JSON.stringify per renderlo una stringa:

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