Convert JS object to JSON string

Convert JS object to JSON string

If I defined an object in JS with:
var j={“name”:”binchen”};

How can I convert the object to JSON? The output string should be:
‘{“name”:”binchen”}’

Solutions/Answers:

Solution 1:

All current browsers have native JSON support built in. So as long as you’re not dealing with prehistoric browsers like IE6/7 you can do it just as easily as that:

var j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'

Solution 2:

With JSON.stringify() found in json2.js or native in most modern browsers.

   JSON.stringify(value, replacer, space)
        value       any JavaScript value, usually an object or array.

       replacer    an optional parameter that determines how object
                    values are stringified for objects. It can be a
                    function or an array of strings.

       space       an optional parameter that specifies the indentation
                    of nested structures. If it is omitted, the text will
                    be packed without extra whitespace. If it is a number,
                    it will specify the number of spaces to indent at each
                    level. If it is a string (such as '\t' or ' '),
                    it contains the characters used to indent at each level.

       This method produces a JSON text from a JavaScript value.

Solution 3:

Check out updated/better way:

Update May 17, 2008: Small sanitizer
added to the toObject-method. Now
toObject() will not eval() the string
if it finds any malicious code in
it.For even more security: Don’t set
the includeFunctions flag to true.

Douglas Crockford, father of the JSON concept, wrote one of the first stringifiers for JavaScript. Later Steve Yen at Trim Path wrote a nice improved version which I have used for some time. It’s my changes to Steve’s version that I’d like to share with you. Basically they stemmed from my wish to make the stringifier:

• handle and restore cyclical references  
• include the JavaScript code for functions/methods (as an option)  
• exclude object members from Object.prototype if needed.

Solution 4:

You can use JSON.stringify() method to convert JSON object to String.

var j={"name":"binchen"};
JSON.stringify(j)

For reverse process, you can use JSON.parse() method to convert JSON String to JSON Object.

Solution 5:

In angularJS

angular.toJson(obj, pretty);

obj:
Input to be serialized into JSON.

pretty(optional):
If set to true, the JSON output will contain newlines and whitespace. If set to an integer, the JSON output will contain that many spaces per indentation.

(default: 2)

Solution 6:

If you’re using AngularJS, the ‘json’ filter should do it:

<span>{{someObject | json}}</span>