2

我正在尝试从以下 Wikipedia 页面中提取数据。

网址:http ://en.wikipedia.org/w/api.php?format=json&action=query&titles=List_of_bands_from_Los_Angeles&prop=revisions&rvprop=content

代码如下。

<cfhttp url="http://en.wikipedia.org/w/api.php?format=json&action=query&titles=List_of_bands_from_Los_Angeles&prop=revisions&rvprop=content" result="wikiBandListResults">

<cfset wikiBandListResultObject = deserializeJSON(wikiBandListResults.filecontent)>

<cfdump var="#wikiBandListResultObject.query.pages.11708073.revisions[1]#">

我能够一直深入到名为“*”的结构,它是我试图获取的数据之上的一层。但是,当我输入以下内容时,出现错误。

<cfdump var="#wikiBandListResultObject.query.pages.11708073.revisions[1].*#">

有没有办法引用这个,所以我可以得到数据?

提前致谢。

4

1 回答 1

3

问题是它*不是一个有效的coldfusion变量名,所以你需要使用数组表示法而不是点表示法;只需更改.*["*"]

我用

<cfhttp url="http://en.wikipedia.org/w/api.php?format=json&action=query&titles=List_of_bands_from_Los_Angeles&prop=revisions&rvprop=content" result="wikiBandListResults">
<cfset wikiBandListResultObject = deserializeJSON(wikiBandListResults.filecontent)>
<cfdump var = "#wikiBandListResultObject.query.pages.11708073.revisions[1]["*"]#">

并得到

{{Unreferenced|date=October 2008}}[[Los Angeles]] 是许多新成立的音乐乐队的所在地。一些来自洛杉矶的乐队,包括 [[加利福尼亚州奥兰治县|奥兰治]] 和 [[加利福尼亚州里弗赛德县|河滨]] 县,包括:{{dynamic list}} {{compactTOC8|side=yes|top =yes|num=yes}} ==0-9== * [[16 (band)|16]] * [[213 (group)|213]] * [[2Cents]] * [[2nd II None] ] ...

于 2012-11-30T13:52:48.980 回答