2011-04-03 51 views
1

我有一個JSON var response(見下文),但我無法使用response.users[0].reputation來檢索「信譽」的值。我在Dashcode中,它說錯誤Result of expression response.users[unknown] is not an object。什麼是正確的語法?JavaScript json值

編輯:該變量是從XMLHttpRequest動態加載。一個具有相同json的靜態變量正在工作。

回答

3

我從XMLHttpRequest猜你例如使用JSON.Parse或收到字符串,但不是JSON對象,所以你需要在第一順序解析它來獲得JSON對象, jQuery.parseJSONresponse.users[0].reputation應該工作。

+0

@umar裝裝:我添加引用我的回答。 – 2011-04-03 10:15:12

+0

thx - 這是工作'var res = JSON.parse(response);'然後'res.users [0] .reputation' – yolo 2011-04-03 10:17:25

+1

@umar:很酷,但要小心* JSON.Parse *可能不會在所有瀏覽器。我通常複製JSON.Parse代碼並粘貼到我自己的js文件中。它只是幾行.. – 2011-04-03 10:19:13

3

JSON很好。我剛剛檢查過它和「response.users [0] .reputation」。 (第二雙眼睛和所有這些)。

我會更關心「response.users [unknown]」中的「未知」。它看起來並不像你要求數組「用戶」的第0個索引。那裏出了點問題。

+0

同上http://jsfiddle.net/R9wz5/ – mplungjan 2011-04-03 10:00:47

+0

該變量動態地從一個XMLHttpRequest – yolo 2011-04-03 10:04:10

1

Personnally當我測試您的JSON的語法,這是正確的: http://www.jsonlint.com

我剛剛刪除了註釋「//需要得到它的價值。」

1

您的代碼適合我,因爲您已經完成了它。也許你沒有正確(var response = {"total": 1, etc...)分配變量或有一個錯字某處

+0

的變量動態地從一個XMLHttpRequest – yolo 2011-04-03 10:03:42