45

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

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

4 回答 4

53

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

于 2013-05-11T03:40:53.133 回答
6
theObject.toString()

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

于 2013-05-11T03:41:11.317 回答
3

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

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

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

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

alert( JSON.stringify( theObject ) );
于 2013-05-11T03:52:38.117 回答
1

利用

var theObject = {name:{firstName:"Mark", lastName:"Bob"}};
alert(JSON.stringify(theObject));
于 2013-05-11T03:42:26.943 回答