如何在属性名称未知的情况下解析JSON数据
How to parse JSON data when the property name is not known in advance?
这是我在jQuery中的响应代码:
var response = $.parseJSON(response);
for (var i = 0; i < response.groupIds.length; i++) {
console.log(response.groupIds[i], i);
}
每个CCD_ 1具有CCD_。
我想用javascript访问这两个数据位,当我事先不知道unknown name
是什么时,我该如何实现这一点?
使用Object.keys
检索关键字名称的完整列表(数组)。这里有聚乙烯填充物。
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
}
您的问题的回答格式只包含一个键值对。然后可以将代码简化为:
var group = response.groupIds[i];
var name = Object.keys(group)[0]; // Get the first item of the list; = key name
var value = group[name];
如果您对该列表不感兴趣,请使用带有hasOwnProperty
的for-i-in
循环。必须使用最后一种方法,以排除从原型继承的属性。
for (var name in group) {
if (group.hasOwnProperty(name)) {
var value = group[name];
// Do something
}
}
使用for..in
循环:
for( x in response.groupIds[i]) {
// x is now your unknown key
// response.groupIds[i][x] is the unknown value
}
由于对象只有一个属性,所以这将很好地工作。
相关文章:
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 在不使用lodash-get的情况下从json中提取深层属性
- 在禁用ng的情况下搜索JSON对象(AngularJS)
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 在什么情况下,应该.deep.equal失败,但使用JSON.stringify进行比较工作正常
- 在不使用jQuery的情况下解析json,并在HTML代码中添加值
- 在不更改大量代码的情况下重新构造Firebase JSON数据
- 在没有jsonp的情况下从另一个域获取数据(json格式)
- 如何在没有冒号、反斜杠、大括号或引号的情况下使用JSON.stringfy(anObject)
- 在没有JQuery的情况下将JSON数据获取到TVML项目中
- 在不知道名称的情况下检索json元素
- jQuery在没有数据库的情况下从php-json自动完成
- 在这种情况下,如何访问我的JSON代码
- 如何在不发生冲突的情况下处理多个json请求
- 如何在URL中不指定.html、.json的情况下配置web.xml来服务任何请求
- 在不使用AJAX的情况下将JSON字符串发送到php文件
- 在不使用jQuery的情况下连接两个JSON对象
- 在没有额外外部库的情况下,将JSON数据分组为周/月
- 如何在不丢失浮点精度的情况下填充 JSON 数据
- 在不知道名称的情况下访问 json 对象中的元素