msg ist ein Objekt
var descriptionMsg = JSON.stringify(msg);
descriptionMsg wird gedruckt als: {"title":"aaaaaaa", "image": "xxxxxx.png", "content": "vvvvvv"} ist ein String
Aber
document.write(descriptionMsg.title);oder document.write(descriptionMsg['title']);
werden alle als undefiniert ausgegeben
Warum ist das so?
descriptionMsg 已經(jīng)是一個字符串了,自然就不可能有 descriptionMsg.title;
console.log(msg.title) 試試?
JSON.stringify(obj)傳入的是一個原生的對象,然后返回的是一個字符串,使用JSON.stringify(obj).key當(dāng)然就得不到值了,所以就是undefined,如果你想得到值可以直接用未轉(zhuǎn)換的原生對象obj.key,或者JSON.parse(JSON.stringify(obj)).key將轉(zhuǎn)換得到的json字符串再解析為原生對象。
descriptionMsg是字符串吧,又不是json格式的對象,你需要用JSON.parse轉(zhuǎn)一下。JSON.stringify是將對象轉(zhuǎn)為字符串的,你用反了。
descriptionMsg是字符串,所以需要先將字符串轉(zhuǎn)換為對象,再訪問對象的屬性:document.write(JSON.parse(descriptionMsg).title)