如何在具有动态键值对的javascript中解析json?

时间:2015-07-08 06:46:49

标签: javascript json

我想在JavaScript中解析JSON字符串。响应类似于

var response = '{"1":10,"2":10}';

如何从这个json中获取每个键和值?

我这样做 -

var obj =  $.parseJSON(responseData);
console.log(obj.count);

但我undefined获得了obj.count

2 个答案:

答案 0 :(得分:8)

要访问对象的每个键值对,可以使用Object.keys获取键的数组,您可以使用它们通过[]运算符访问值。请参阅下面的示例代码:

Object.keys(obj).forEach(function(key){
    var value = obj[key];
    console.log(key + ':' + value);
});

输出:

  

1:10

     

2:20

Objects.keys返回对象中键的数组。在您的情况下,它是['1','2']。因此,您可以使用.length来获取密钥数。

Object.keys(obj).length;

答案 1 :(得分:4)

所以你需要像数组一样访问它,因为你的密钥是数字。看到这个小提琴:

https://jsfiddle.net/7f5k9het

您可以这样访问:

 result[1] // this returns 10
 result.1 // this returns an error
祝你好运