如何访问维基百科 API 返回的 JSON 中的嵌套对象
How to access nested object in JSON returned by Wikipedia API
从这个查询到维基百科API:
http://en.wikipedia.org/w/api.php?action=query&prop=links&format=json&plnamespace=0& pllimit=10&titles=List%20of%20television%20programs%20by%20name
我得到一个 JSON 结构,例如:
var data = {
"query": {
"pages": {
"1536715": {
"pageid": 1536715,
"ns": 0,
"title": "List of television programs by name",
"links": [
{
"ns": 0,
"title": "$1.98 Beauty Show"
},
{
"ns": 0,
"title": "''Dance Academy''"
}
]
}
}
},
"query-continue": {
"links": {
"plcontinue": "1536715|0|15'/Love"
}
}
}
我想使用 "links"
数组的元素。但是,基于元素"pageid": 1536715
的存在,我怀疑嵌套对象"1536715"
的名称是一个可能会更改的动态值。我不愿意使用此名称来访问"links"数组,例如 query.pages.1536715.links
.
有没有办法"跨过"这个对象,即使用通配符query.pages.*.links
?如果做不到这一点,我可以迭代pages
的子项来获取这个对象吗?我正在为这个项目使用 jQuery 1.7.2,以防您可以从那里建议任何有用的方法。
是的,您需要循环它。另请参阅使用jquery从维基媒体解析json字符串的非常相似的问题。您还可以使用 indexpageids
参数接收结果页面 ID 列表。
if (data && data.query && data.query.pages)
var pages = data.query.pages;
else
// error: No pages returned / other problems!
for (var id in pages) { // in your case a loop over one property
var links = pages[id].links
if (links)
for (i=0; i<links.length; i++) {
// do what you want with links[i]
}
else
// error: No links array returned for whatever reasons!
}
这应该能让你到达那里...
var links, i, pageID;
for (pageID in query.pages) {
links = query.pages[pageID].links;
for (i=0; i<links.length; i++) {
link = links[i];
link.ns; link.title // handle link obj here.
}
}
相关文章:
- 谷歌地图JS API+JSON-多个标记没有显示
- Twitter API JSON调用未获得最新的3条推文
- walkscore API JSON error
- 使用来自AngularJS的Web API JSON响应-错误:应为和数组,但得到了一个对象
- 将OpenClipArt api json解析为Html
- Google Visualization API JSON vs ArrayToDataTable in Python
- 滴灌API Json代码不起作用
- API JSON 回调问题
- 从谷歌地图API JSON获取formatted_address
- 为我的网站使用Facebook API JSON的最简单方法(哪种语言以及如何语法)
- YouTube feed API (JSON-P) 返回无效的 JS
- Google Maps API JSON 无法读取html_instructions
- Javascript Web API JSON解析格式问题
- 使用 tumblr API(JSON) 和 $.getJSON 从我的 tumblr 博客中获取最新文章
- PHP API JSON Response
- 如何将rest API json映射到首选的数组格式
- Google maps API: JSON to jQuery
- 谷歌地图API json传递数组
- 无法访问Zomato api JSON对象
- 模板显示Gmail API JSON输出在HTML中