我正在使用带有外部数据扩展名的MediaWiki 1.27。外部数据仅以JSON格式提供。不幸的是,数据返回重复的键名,其中有些嵌套。参见示例:
[
{
"created": 1481938823000,
"name": "3D Thursdays & Open House",
"venue": {
"name": "HacDC",
...
},
"group": {
"name": "HacDC",
...
},
...
},
...
]
尝试使用以下方法显示数据时:
{{#get_web_data:
url=https://api.meetup.com/hac-dc/events?scroll=next_upcoming&page=10
|format=JSON
|data=local_date=local_date,local_time=local_time,name=name,link=link,duration=duration
|cache seconds=0
}}
{| class="wikitable"
! Date
! Time
! Event {{#for_external_table:<nowiki/>
{{!}}-
{{!}} {{{local_date}}}
{{!}} {{{local_time}}}
{{!}} [{{{link}}} {{{name}}}]
}}
|}
MediaWiki似乎没有明显的方法来忽略嵌套的name
键,并显示“ 3D Thursday&Open House”(正确)以及“ HacDC”和“ HacDC”(均不正确)的条目。 / p>
是否可以显式排除venue
和group
“词典”或仅显示“外部”值?
答案 0 :(得分:0)
您应使用新的格式json with jsonpath
(至少升级扩展名):
{{#get_web_data:
url=https://api.meetup.com/hac-dc/events?scroll=next_upcoming&page=10
|format=json with jsonpath
|data=local_date=$.*.local_date,local_time=$.*.local_time,name=$.*.name,link=$.*.link,duration=$.*.duration
|cache seconds=10
}}{| class="wikitable"
! Date
! Time
! Duration
! Event {{#for_external_table:<nowiki/>
{{!}}-
{{!}} {{{local_date}}}
{{!}} {{{local_time}}}
{{!}} {{{duration}}}
{{!}} [{{{link}}} {{{name}}}]
}}
|}