2017-12-18 294 views
-2

內部如何訪問數據我有以下JSON數組:JSON數組

[ 
{ 
"ABC":{ 
"a1": 1 
}, 
"Xyz": 10 
}, 
{ 
"abc2": { 
"b2": 10 
}, 
"x":7 
} 
] 

我想下面的代碼讀取值:

Var json = JSON.parse(str); 
console.log("abc:"+json[0].ABC); 

我得到"json[0].ABC" undefined error

如何循環此json並獲取值。 Json是由Gson庫生成的。

此外,當我在轉換後在Java中打印這個json字符串時,我會在括號內看到前後引號[]。這是否導致任何問題。

+0

解析JSON字符串時是否有錯誤? – evolutionxbox

+1

還有一個逗號1 – gurvinder372

+0

在你的某些按鍵之前還有空格,例如''a1'' – user184994

回答

0

var data = [{ 
 
\t "ABC": { 
 
\t \t "a1": 1 
 
\t }, 
 
\t "Xyz": 10 
 
}, { 
 
\t " abc2": { 
 
\t \t "b2": 10 
 
\t }, 
 
\t " x": 7 
 
}] 
 

 
alert(data[0].ABC); 
 

 
//for better understanding, console log and check 
 

 
console.log(data); 
 
console.log(data[0].ABC);

+0

對於檢索或檢查屬性,它是** NOT **無效的。 – davidkonrad

+0

這是一個錯字。請參閱更新的問題。 – User7723337

+0

要麼它是JSON,你需要解析它,或者它不是JSON。 http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/ – str

1

爲什麼你需要var json = JSON.parse(str)當你的JSON變量是一個對象。你在這裏是什麼str

它的工作原理是這樣的:

var json = [ { "ABC":{ " a1": 1, }, "Xyz": 10 }, { " abc2": { "b2": 10 }, " x":7 } ]; 
console.log("abc:"+json[0].ABC); 

結果:

{" a1": 1} 
+0

http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/ – str