2017  Kodetalk | Feedback | Privacy Policy | Terms | About
userimage

Serializing to JSON in jQuery

I need to serialize an object to JSON. I"m using jQuery. Is there a "standard" way to do this?

My specific situation: I have an array defined something like this:


var countries = new Array();

countries[0] = "ga";

countries[1] = "cd";

...

and I need to turn this into a string to pass to $.ajax() like this:


$.ajax({

    type: "POST",

    url: "Concessions.aspx/GetConcessions",

    data: "{"countries":["ga","cd"]}",

...

userimage

JSON-js - JSON in JavaScript

To convert an object to a string, use JSON.stringify:

var json_text = JSON.stringify(your_object, null, 2);

To convert a JSON string to object, use JSON.parse :

var your_object = JSON.parse(json_text);

It was recently recommended by John Resig:

...PLEASE start migrating your JSON-using applications over to Crockford's json2.js. It is fully compatible with the ECMAScript 5 specification and gracefully degrades if a native (faster!) implementation exists.

In fact, I just landed a change in jQuery yesterday that utilizes the JSON.parse method if it exists, now that it has been completely specified.

Newer browsers support the JSON object natively. The current version of Crockford's JSON library will only define JSON.stringify and JSON.parse if they're not already defined, leaving any browser native implementation intact

Answer is