javascript - 维基百科 API - 访问 JSON 对象

标签 javascript jquery json wikipedia-api mediawiki-api

我正在尝试使用他们的 API 从维基百科文章中提取文本(API 是他们提供的一个宽泛的术语,但我想我们会使用它),我遇到了有关解析的问题我要返回的后续 JSON 对象。 即,该对象包含我在标签为“*”的键下查找的文本,因此在运行命令后:

$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", {page:"Red Sea clownfish", prop:"text"}, function(data) {

然后我尝试使用以下命令将此信息解析为字符串:

var dat = data.parse.text.*;

然后我使用以下命令输出到控制台:

console.log(dat);

不幸的是,Google Chrome 和 Firefox 似乎都无法解析 '*' 键。当我将完整的“数据”对象转储到控制台时,我可以看到数据结构的(嵌套)键是“解析”、“文本”和 “*”。我什至可以将我需要的文本转储到“*”键。即

var dat = data.parse.text;

有效。只是'*'字符不想被识别。

关于如何解决这个问题的任何想法?理想情况下,我想访问“*”键引用的值。我只是不知道如何用 javascript 对其进行编程。

最佳答案

* 字符在 JavaScript 中不允许作为标识符(变量名称)的一部分,因此该语法不起作用。相反,您可以使用数组/下标符号来访问使用任何字符串的属性,无论它是否是有效标识符:

var dat = data.parse.text['*'];

关于javascript - 维基百科 API - 访问 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124654/

相关文章:

javascript - 为可放置事件添加延迟

javascript - 如何重命名某些 JSON 对象属性以在 HTML 表中显示它

javascript - 如何发送HTTP请求以在node.js中提交表单到另一个网站?

javascript - Mootools/Javascript 范围问题

javascript - Ajax 不发送文件

jquery - jVectorMap 增加(世界) map 大小

JavaScript 测试 CSS 样式表是否与 CSS3 媒体查询一起应用

javascript - Angular.js 仅加载一半时间

jquery - 发送 json 到服务器 spring 3.x

android - 设计方法 : Android Restful with JSON