2017-12-18 292 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