2013-05-11 14 views
17

Here I'm creating a JavaScript object and converting it to a JSON string, ma JSON.stringify restituisce "[object Object]" in questo caso, invece di visualizzare il contenuto dell'oggetto. Come posso aggirare questo problema, in modo che la stringa JSON contenga effettivamente il contenuto dell'oggetto?JSON.stringify restituisce "[oggetto oggetto]" invece del contenuto dell'oggetto

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

avvisi non mostrano gli oggetti, solo stringhe, si dovrebbe utilizzare la console per questo. E la conversione di un oggetto in una stringa fa lo stesso, si finisce con [oggetto oggetto], poiché questa è la rappresentazione in serie di un oggetto. – adeneo

+2

'theObject.toString()' = '" [oggetto oggetto] "' –

+1

Vi siete mai chiesti perché [oggetto oggetto]? Dai un'occhiata a questa risposta: http://stackoverflow.com/a/25419538/3001704 – chetan92

risposta

26

Usa alert(JSON.stringify(theObject));

+0

come ottenere il nome dalla stringa JSON – oxygen

+0

migliori soluzioni !!! –

0

Usa

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

JSON.stringify restituisce "[object Object]" in questo caso

Questo è dovuto al fatto che si sta chiamando toString() sull'oggetto prima della serializzazione:

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

Rimuovere la chiamata toString() e dovrebbe funzionare bene:

alert(JSON.stringify(theObject));