web-dev-qa-db-ja.com

JSON.stringifyは、オブジェクトのコンテンツの代わりに「[object Object]」を返します

ここではJavaScriptオブジェクトを作成してJSON文字列に変換しています ですが、JSON.stringifyはオブジェクトのコンテンツを表示する代わりに、この場合"[object Object]"を返します。 JSON文字列に実際にオブジェクトのコンテンツが含まれるように、この問題を回避するにはどうすればよいですか?

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

alert(JSON.stringify(theObject));を使用します

43
Arbel
_theObject.toString()
_

.toString()メソッドが原因です。それを除く;フィドルは動作します: http://jsfiddle.net/XX2sB/1/

4
hjpotter92

この場合、JSON.stringifyは「[object Object]」を返します

これは、シリアル化する前にオブジェクトでtoString()を呼び出しているためです。

_JSON.stringify(theObject.toString()) /* <-- here */
_

toString()呼び出しを削除すると、正常に機能するはずです。

_alert( JSON.stringify( theObject ) );
_
1
Kevin Boucher

つかいます

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