2013-04-11 48 views
0

在我的jquery成功fn中,當我這樣做console.log(data);Jquery解析JSON說undefined

我得到,

[ 
    "{\"name\":\"android\"}" 
] 

當我試圖這樣data.name [0],我越來越不確定的檢索名。

我也試過data [0] .name,仍然說undefined。

+0

data ['name'] ?? – 2013-04-11 11:40:50

+0

這是因爲數據[0]是一個字符串,而不是一個對象,那是什麼console.log所示 – x4rf41 2013-04-11 11:40:52

+0

你可以顯示代碼與您生成的JSON代碼,因爲我認爲你的錯誤是 – x4rf41 2013-04-11 11:43:30

回答

0

這樣產生的價值:

var data = '[{\"name\":\"android\"}]'; 
    eval("data=" + data); 
    alert(data[0].name); 

OR

var data = '[{\"name\":\"android\"}]'; 
    data = JSON.parse(data) 
    alert(data[0].name); 

你能後的代碼,你試過嗎?

0

首先將字符串中的數組值轉換爲JSON,然後進行解析。

var json = JSON.parse(data[0]); 
json.name; 
+0

這似乎是正確的,但我認爲,而不是使用這種解決方法,他應該修復他的ajax響應,以便它輸出適當的json – x4rf41 2013-04-11 11:42:48

+0

@ x4rf41是的,你是對的 – 2013-04-11 11:43:32

+0

*「首先將數組值轉換爲JSON」*:這是什麼意思?爲什麼要將某些內容轉換爲JSON並返回?你發佈的內容「有效」,但說明似乎不合適。 – 2013-04-11 11:44:51