我想访问我从Wikipedia API获得的JSON对象中的属性。 您可以看到对象here
asset($filename);
我想要的是:查询->页面-> 274152->提取
我可以访问该值,但是问题是我需要知道对于每个对象都在变化的'274152'值,因此我想找到一种可以在任何数字下使用的解决方案。
所以我能走得最远的是{
"batchcomplete": "",
"query": {
"normalized": [
{
"from": "baguette",
"to": "Baguette"
}
],
"pages": {
"274152": {
"pageid": 274152,
"ns": 0,
"title": "Baguette",
"extract": "Une baguette est, dans son sens premier, une tige de bois, de métal, ou de divers autres matériaux ; le mot peut désigner aussi d’autres concepts, notamment par métonymie.\n\n"
}
}
}
}
有什么主意吗?谢谢
答案 0 :(得分:0)
您可以使用:
var keys = Object.keys(obj.query.pages);
获取pages
对象中定义的属性数组。然后,您基本上可以进行obj.query.pages[keys[i]]
来访问i
对象中第pages
个项目,例如:
obj.query.pages[keys[0]].extract
或者,您也可以像这样遍历属性:
for (var key in obj.query.pages) {
if (obj.query.pages.hasOwnProperty(key)) {
var item = obj.query.pages[key];
//do something with item
//item.extract...
}
}
答案 1 :(得分:0)
如果您只关心“提取”部分,则可以尝试以下操作:
Object.values(obj.query.pages).map(item => item.extract)
获取所有值的列表
答案 2 :(得分:0)
假设给定的JSON是变量data
let uniqueID = Object.keys(data.query.pages)[0];
data.query.pages[uniqueID].extract
会给您想要的结果。