尝试从Wiki API解析Math Expressions JSON

时间:2017-07-09 07:49:15

标签: android json mediawiki-api

我在我的应用程序中解析来自Wiki api的JSON使用排球请求没有任何问题,除了下面的一个。我需要将这些表达式与文本一起解析。

我正在使用此网址(例如):

https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&explaintext=&titles=%20Partition%20function%20(statistical%20mechanics)

这是文章中有问题的部分: enter image description here

解析工作很好,但是当谈到数学表达式时,它在API中看起来像这样:

enter image description here

在我的应用程序中,我与文本相处" {displaystyle ="部分。 我没有得到" / n"或者其他的东西。 在我的应用程序中,它看起来像这样:

enter image description here

enter image description here

我得到了很多空间,这就是" {displaystyle"。文字吓坏了。为了克服这个问题,我能做些什么吗?我无法找到api查询,但也许我可以用JSON响应自己做点什么。

感谢。

1 个答案:

答案 0 :(得分:2)

formatversion=2

API:Data formats#JSON parameters

  

指定formatversion=2以更清晰的格式获取json(和php)格式的响应。这也将大多数非ASCII字符编码为UTF-8。 MW 1.25+

所以:https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&titles=Partition%20function%20(statistical%20mechanics)&formatversion=2返回包含<math>标记的JSON,如:

<annotation encoding=\"application/x-tex\">{\\displaystyle \\beta }</annotation>

可能更有用。

有关formatversion=2的更多信息,请访问API:JSON version 2

  

format=json有许多缺点,使得使用起来比使用起来更困难。其中许多是因为XML是原始输出格式,而API响应的基础数据结构是围绕此设计的。

     

为了解决这个问题,经过讨论,MediaWiki 1.25引入了一种新的JSON响应格式。这不是默认设置,如果您指定formatversion=2,则只会以新格式获得结果,并且仅适用于jsonphp格式(以及它们的人类可读格式) jsonfmphpfm个变体。