【问题标题】:How to access data inside json array如何访问json数组中的数据
【发布时间】:2017-12-18 09:19:19
【问题描述】:

我有以下 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 并获取 vales。 Json 由 Gson 库生成。

此外,当我在转换后用 Java 打印这个 json 字符串时,我会在 [] 括号前后看到引号。这是否会导致任何问题。

【问题讨论】:

  • 解析JSON字符串时是否出错?
  • 1后面多了一个逗号
  • 你的一些key前面还有空格,比如" a1"
  • 我试过你的代码,它没有在浏览器控制台中产生错误
  • 你的 str 里有什么?

标签: javascript json gson


【解决方案1】:

当您的 json 变量是一个对象时,为什么需要 var json = JSON.parse(str)。你这里的str 是什么?

它是这样工作的:

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

结果:

{" a1": 1}

【讨论】:

    【解决方案2】:

    var data = [{
    	"ABC": {
    		"a1": 1
    	},
    	"Xyz": 10
    }, {
    	" abc2": {
    		"b2": 10
    	},
    	" x": 7
    }]
    
    alert(data[0].ABC);
    
    //for better understanding, console log and check
    
    console.log(data);
    console.log(data[0].ABC);

    【讨论】:

    猜你喜欢
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    相关资源
    最近更新 更多