2017-05-02 42 views
-1

我正在嘗試訪問下面的"data":對象的t部分。我通過做console.log(message.data.f)這樣做,但是這返回undefined。我不明白爲什麼我不能以這種方式訪問​​它。見下面對象:訪問JSON的特定部分JS

"data":"{\"e\":\"53845\",\"f\":\"SCORE\",\"pf\":[{\"p\":\"HOME\",\"v\":\"0\"},{\"p\":\"AWAY\",\"v\":\"0\"}],\"^t\":\"f\",\"i\":\"357575\",\"z\":1492771602631}", 

注意我已經打上我希望與^

+0

這甚至不是有效的JSON開始。 –

+0

我知道這不是我有意留下其他部分來縮小我需要發佈的無用JSON的數量。 – JBd

+0

你可以刪除不相關的部分,仍然留下一些實際有效的JSON(最好格式化,沒有大量轉義)。幫助人們來幫助你。 –

回答

1

您的data屬性是JSON字符串,可能所有對象都是JSON字符串。 您需要解析字符串作爲JSON

var obj = JSON.parse(myObj.data);

,然後你可以訪問:

console.log(obj.f); 

如果你的第一個對象,包含數據的一個,是不是已經是JSON也和它的名字例如myFirstObject,你只需要這樣做:

var jsonObj = JSON.parse(myFirstObject); 
console.log(jsonObj.f); 
1

您的郵件訪問對象的部分是什麼,但字符串。首先將其解析爲相應的對象以訪問其變量。

var parsed = JSON.parse(message); 
console.log(message.data.t);