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 ?
descriptionMsg est déjà une chaîne, il est donc naturellement impossible d'avoir descriptionMsg.title;
console.log(msg.title) Essayez ?
JSON.stringify()
Utilisé pour analyser une chaîne à partir d'un objetJSON.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.
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.
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)