如何从MediaWiki外部数据JSON中删除密钥?



我正在使用带有外部数据扩展名的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"(均不正确(的条目。

有没有办法明确排除venuegroup"字典"或仅显示"外部"值?

您应该使用新格式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}}}]
}}
|}

最新更新