Maison > Questions et réponses > le corps du texte
msg est un objet
var descriptionMsg = JSON.stringify(msg);
descriptionMsg est imprimé comme : {"title":"aaaaaaa","image":"xxxxxx.png","content":"vvvvvv"} est une chaîne
Mais
document.write(descriptionMsg.title);ou document.write(descriptionMsg['title']);
sont tous imprimés comme : undéfini
Pourquoi est-ce ?
我想大声告诉你2017-05-18 10:59:47
descriptionMsg est déjà une chaîne, il est donc naturellement impossible d'avoir descriptionMsg.title;
console.log(msg.title) Essayez ?
黄舟2017-05-18 10:59:47
JSON.stringify()
Utilisé pour analyser une chaîne à partir d'un objet
PHP中文网2017-05-18 10:59:47
JSON.stringify(obj) transmet un objet natif et renvoie une chaîne. Bien sûr, vous ne pouvez pas obtenir la valeur en utilisant JSON.stringify(obj).key, elle n'est donc pas définie. peut utiliser directement l'objet natif non converti obj.key ou JSON.parse(JSON.stringify(obj)).key pour analyser la chaîne json convertie en un objet natif.
阿神2017-05-18 10:59:47
descriptionMsg est une chaîne, pas un objet au format json Vous devez utiliser JSON.parse pour la convertir. JSON.stringify convertit les objets en chaînes, mais vous l'avez utilisé dans l'autre sens.
滿天的星座2017-05-18 10:59:47
descriptionMsg est une chaîne, vous devez donc d'abord convertir la chaîne en objet, puis accéder aux propriétés de l'objet : document.write(JSON.parse(descriptionMsg).title)