JSON.stringify returns "[object Object]" instead of the contents of the object

Here I'm creating a JavaScript object and converting it to a JSON string, but JSON.stringify returns "[object Object]" in this case, instead of displaying the contents of the object. How can I work around this problem, so that the JSON string actually contains the contents of the object?

var theObject = {name:{firstName:"Mark", lastName:"Bob"}}; alert(JSON.stringify(theObject.toString())); //this alerts "[object Object]" 
3

4 Answers

Use alert(JSON.stringify(theObject));

2
theObject.toString() 

The .toString() method is culprit. Remove it; and the fiddle shall work:

JSON.stringify returns "[object Object]" in this case

That is because you are calling toString() on the object before serializing it:

JSON.stringify(theObject.toString()) /* <-- here */ 

Remove the toString() call and it should work fine:

alert( JSON.stringify( theObject ) ); 

Use

var theObject = {name:{firstName:"Mark", lastName:"Bob"}}; alert(JSON.stringify(theObject)); 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like