6

我正在尝试使用他们的 API 将文本从 Wikipedia 文章中提取出来(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 似乎都无法解析'*'密钥。当我将完整的“数据”对象转储到控制台时,我可以看到数据结构的(嵌套)键是“解析”、“文本”和'*'. 我什至可以将我需要的文本转储到“*”键。IE

var dat = data.parse.text;

作品。只是'*'字符不想被识别。

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

4

1 回答 1

8

The * character isn't allowed as part of an identifier (variable name) in JavaScript, so that syntax doesn't work. Instead, you can use the array/subscript notation to access properties using any string, regardless of whether it's a valid identifier:

var dat = data.parse.text['*'];
于 2011-11-14T16:26:00.363 回答