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]"
Utilisez alert(JSON.stringify(theObject));
theObject.toString()
La méthode .toString()
est coupable. Retirez-le; et le violon doit fonctionner: http://jsfiddle.net/XX2sB/1/
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 ) );
Utilisation
var theObject = {name:{firstName:"Mark", lastName:"Bob"}};
alert(JSON.stringify(theObject));