web-dev-qa-db-fra.com

JSON.stringify renvoie "[objet objet]" au lieu du contenu de l'objet

Ici, je crée un objet JavaScript et le convertis en une chaîne JSON , mais JSON.stringify résultats "[object Object]" dans ce cas, au lieu d'afficher le contenu de l'objet. Comment contourner ce problème pour que la chaîne JSON contienne réellement le contenu de l'objet?

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

Utilisez alert(JSON.stringify(theObject));

43
Arbel
theObject.toString()

La méthode .toString() est coupable. Retirez-le; et le violon doit fonctionner: http://jsfiddle.net/XX2sB/1/

4
hjpotter92

JSON.stringify renvoie "[objet objet]" dans ce cas

C'est parce que vous appelez toString() sur l'objet avant de le sérialiser:

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

Supprimez l'appel toString() et cela devrait fonctionner correctement:

alert( JSON.stringify( theObject ) );
1
Kevin Boucher

Utilisation

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