2014-10-30 126 views
0

我相對較新的JavaScript和JSON非常新,並獲得了更改內部網站的工作,以滿足我們新的公司需求。 我想訪問一個數組在其中的JSON對象。這對大多數對象都非常有用,除了數組。每次嘗試訪問數組中的元素時,我都會得到未定義的或NaN。在JSON對象中訪問數組元素是未定義的

當我做

alert(JSON.stringify(object.data.average[0]));
我得到以下輸出

[{"test_count2":"360","succeeded":"185"}]

,所以我知道我試圖訪問的對象是有,但是當我做

alert(JSON.stringify(object.data.average[0].succeeded))

alert(JSON.stringify(object.data.average[0]['succeeded']))

我總是得到只是

undefined

我在做什麼完全錯誤在這裏? 因爲我傷心,我是一個newby,所以請耐心等待我);

在此先感謝!

+0

不如你的整個粘貼(或至少'object.data.average')JSON數據,因爲在我看來,還有另一個數組裏的數組('object.data.average [0] [0]'?) – turtle 2014-10-30 06:49:28

+0

「平均」: { \t 「0」: \t [ \t \t { \t \t \t 「test_count」: 「360」, \t \t \t 「成功」: 「185」 \t \t} \t ] \t, \t 「test_count」: 「192」, \t 「失敗」: 「7」, \t「成功ED 「:」 185" , \t 「比」: 「0.5978」, \t 「ID」: 「41」, \t 「overall_status」: 「1」 }, 不過我不知道爲什麼有內部的陣列陣列... – ulchSD5922 2014-10-30 06:59:46

回答

0

因爲它是另一個數組,你就必須做到這一點

object.data.average[0][0]['succeeded']; 
+0

非常感謝你!你剛剛救了我的一天! – ulchSD5922 2014-10-30 06:47:11

+0

沒問題,快樂黑客! – 2014-10-30 06:47:52

1

JSON.stringify(object.data.average[0][0].succeeded)嘗試。 object.data.average[0]似乎返回一個數組,其中包含一個元素。 此外,您可以使用console.log(object.data),而不是alert。在現代Web瀏覽器中查看控制檯中對象的樹形表示方式更容易,而不像以前那樣提示字符串值。

0

您似乎忘記了您的數組中有另一個對象。嘗試,

alert(JSON.stringify(object.data.average[0][0].succeeded)) 
0

假設你想從「字符串化JSON」訪問成功了價值,你需要將字符串轉換「[{‘test_count2’:‘360’,‘成功’:‘185’ }]'這是一個簡單的字符串返回到一個json對象。

步驟如下: var str ='[{「test_count2」:「360」,「succeeded」:「185」}]'; var obj = JSON.parse(str); //此函數將JSON.stringify對json alert(obj.succeeded)進行反轉; //輸出:185

希望我是明確的:)