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 に答える