Dav*_*lis 7 javascript json properties
这是我在jQuery中的响应代码:
var response = $.parseJSON(response);
for (var i = 0; i < response.groupIds.length; i++) {
console.log(response.groupIds[i], i);
}
Run Code Online (Sandbox Code Playgroud)
每个response.groupIds[i]都是形式{"unknown name":"unknown value"}.
我希望在javascript中访问这两个数据位,当我事先不知道例如unknown name是什么时,我该如何实现呢?
Rob*_*b W 17
使用Object.keys检索键名的完整列表(阵列).这里有一个polyfill .
var group = response.groupIds[i];
var allPropertyNames = Object.keys(group);
for (var j=0; j<allPropertyNames.length; j++) {
var name = allPropertyNames[j];
var value = group[name];
// Do something
}
Run Code Online (Sandbox Code Playgroud)
您的问题的响应格式只包含一个键值对.然后可以将代码简化为:
var group = response.groupIds[i];
var name = Object.keys(group)[0]; // Get the first item of the list; = key name
var value = group[name];
Run Code Online (Sandbox Code Playgroud)
如果你不感兴趣的列表,使用for-i-in循环使用 hasOwnProperty.必须使用最后一种方法来排除从原型继承的属性.
for (var name in group) {
if (group.hasOwnProperty(name)) {
var value = group[name];
// Do something
}
}
Run Code Online (Sandbox Code Playgroud)