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

Ami*_*Das 6 javascript json

我想在JavaScript中解析JSON字符串.响应是这样的

var response = '{"1":10,"2":10}';
Run Code Online (Sandbox Code Playgroud)

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

我这样做 -

var obj =  $.parseJSON(responseData);
console.log(obj.count);
Run Code Online (Sandbox Code Playgroud)

但我得到undefinedobj.count.

Tao*_*oPR 8

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

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

输出:

1:10

2:20

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

Object.keys(obj).length;
Run Code Online (Sandbox Code Playgroud)


Mar*_*ude 5

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

https://jsfiddle.net/7f5k9het

您可以这样访问:

 result[1] // this returns 10
 result.1 // this returns an error
Run Code Online (Sandbox Code Playgroud)

祝你好运