JSON.stringify返回"[object Object]"而不是对象的内容

And*_*een 29 javascript json stringify

这里我创建一个JavaScript对象并将其转换为JSON字符串,但在这种情况下JSON.stringify返回"[object Object]",而不是显示对象的内容.我该如何解决这个问题,以便JSON字符串实际上包含对象的内容?

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

Arb*_*bel 43

使用 alert(JSON.stringify(theObject));


Kev*_*her 7

在这种情况下,JSON.stringify 返回“[object Object]”

这是因为您toString()在序列化对象之前调用该对象:

JSON.stringify(theObject.toString()) /* <-- here */
Run Code Online (Sandbox Code Playgroud)

删除该toString()调用,它应该可以正常工作:

alert( JSON.stringify( theObject ) );
Run Code Online (Sandbox Code Playgroud)


hjp*_*r92 6

theObject.toString()
Run Code Online (Sandbox Code Playgroud)

方法.toString()是罪魁祸首。去掉它; 小提琴应该可以工作:http://jsfiddle.net/XX2sB/1/