如何访问预先不知道id的json属性
How to access a json attribute which id is not know in advance?
在下面的JSON示例中,当我不知道javascript中那些元素的id时,我如何访问list
的项。
{
"list":{
"93817":{
"item_id":"93817"
"url":"http://url.com",
"title":"Page Title"
},
"935812":{
"item_id":"935812",
"url":"http://google.com",
"title":"Google"
}
}
}
var jsonObject = JSON.parse(req.responseText);
var item = jsonObject.list[0] // This does not work
PS:我不能更改JSON的格式,因为它是由第三部分创建的。
如果你的意思是你在编写程序时不知道,但在执行时会知道,你可以使用:
var key = "935812";
console.log(object.list[key]);
如果您的意思是希望查看在执行时存在哪些密钥,您可以对这些密钥进行迭代,如下所示:
for (var key in object.list) {
if (object.list.hasOwnProperty(key)) {
console.log(key + ":", object.list[key]);
}
}
您可以使用"for(i in obj)"Javascript构造来迭代响应。请注意,以这种方式迭代可能会发现原型链中较高对象的属性(谁知道JSON对象经历了什么痛苦…),因此如果您愿意,可以非常明确地进行检查。
response = {
"list":{
"93817":{
"item_id":"93817",
"url":"http://url.com",
"title":"Page Title"
},
"935812":{
"item_id":"935812",
"url":"http://google.com",
"title":"Google"
}
}
};
for (var id in response.list) {
if (response.list.hasOwnProperty(id)) {
// Now 'id' is the previously unknown id,
// and response.list[id] is the list items.
console.log(id, response.list[id]);
}
}
var list = obj["list"];
for (item in list) {
if (list.hasOwnProperty(item)) {
alert( list[item].item_id );
}
}
在这种情况下,hasOwnProperty
检查可能没有必要,但通常您可能需要确保它不是继承的属性。
您可以这样循环它们:
for (i in jsonObj.list){
alert(a.list[i].title);
};
相关文章:
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 在不知道深度或父属性的情况下从对象中删除属性
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 使用.on动态添加jquery/js不知道的html元素
- 这个旋钮没有更新;我不知道为什么
- 我不知道为什么我的代码是错误的?又有什么错
- 如何在不知道关键字的情况下访问javascript对象值
- 我不知道我的编码有什么问题.(JavaScript)
- JavaScript id 选择器不起作用?不知道出了什么问题
- 如何访问预先不知道id的json属性
- 如何在不知道其ID的情况下清除所有setInterval()和setTimeOut()
- 如何通过javascript函数设置标签文本,而不知道javascript中的标签ID
- 在不知道id或替换src的情况下更改img标签的src
- 不知道为什么日期选择器小部件不能工作,也不知道为什么id选择器不能自动填充结果字段
- 在不知道id的情况下隐藏/显示文本框及其标签
- HTML在不知道id的情况下动态添加事件侦听器
- 是否可以在不知道 id 的情况下设置 iframe 的位置 href/src
- 如何在不知道元素ID的情况下使其单独替换
- 如何知道是否在不知道名称或 ID 的情况下选择了第 7 个单选按钮