2013-05-11 380 views
17

Here I'm creating a JavaScript object and converting it to a JSON string的內容,但JSON.stringify返回"[object Object]"而不是顯示對象的內容。我該如何解決這個問題,以便JSON字符串實際上包含對象的內容?JSON.stringify返回「[object Object]」而不是對象

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

警報不顯示對象,只有字符串,你應該使用控制檯。並且將一個對象轉換爲一個字符串也是一樣的,最終會得到[object Object],因爲這是對象的字符串表示形式。 – adeneo 2013-05-11 03:43:40

+2

'theObject.toString()'='「[object Object]」' – 2013-05-11 03:59:21

+1

有沒有想過爲什麼[object Object]?看看這個答案:http://stackoverflow.com/a/25419538/3001704 – chetan92 2016-11-15 09:33:55

回答

26

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

+0

如何從json字符串獲取名稱 – oxygen 2016-05-31 12:19:45

+0

最佳解決方案! – 2017-04-25 22:11:42

0

使用

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

JSON.stringify返回「的翻譯:」在這種情況下

那是因爲你調用對象的toString()序列化之前:

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

刪除toString()電話,它應該工作正常:

alert(JSON.stringify(theObject)); 
相關問題