Mep*_*les 6 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) {
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用以下命令将此信息解析为字符串:
var dat = data.parse.text.*;
Run Code Online (Sandbox Code Playgroud)
我正在使用以下内容输出到控制台:
console.log(dat);
Run Code Online (Sandbox Code Playgroud)
不幸的是,Google Chrome和Firefox似乎都无法解析'*'密钥.当我将完整的'data'对象转储到控制台时,我可以看到数据结构的(嵌套)键是'parse','text'和'*'.我甚至可以将我需要的文本转储到'*'键.即
var dat = data.parse.text;
Run Code Online (Sandbox Code Playgroud)
作品.只是'*'字符不希望被识别.
有想法该怎么解决这个吗?理想情况下,我想访问'*'键引用的值.我只是不知道如何在javascript中编程.
小智 8
该*字符不允许作为JavaScript中标识符(变量名称)的一部分,因此语法不起作用.相反,您可以使用数组/下标表示法来使用任何字符串访问属性,无论它是否是有效的标识符:
var dat = data.parse.text['*'];
Run Code Online (Sandbox Code Playgroud)