API:Data formats/zh

输入
API是通过询问字符串以提供该参数，或者是来自application/x-www-form-urlencoded或multipart/form-data的POST实体为获取所输入的数据格式. 每个模块（以及每个$query的子模块）都会有自己一组的参数，它们都列于文档中以及action=help的模块内. 它们也可以通过为重新检索.

编码
所有输入在UTF-8，以及NFC的表格里应当是有效的. MediaWiki将会尝试转换为其他的格式，这或许会导致程序上的错误.

多值参数
Parameters that take multiple values are normally submitted with the values separated using the pipe character, e.g.. If a value contains the pipe character in itself, use U+001F (Unit Separator) as the separator and prefix the value with U+001F, e.g..

Whether a parameter accepts multiple values is listed explicitly in its module documentation. t

Boolean parameters
If a boolean parameter is specified in an HTTP request, it is considered true regardless of its value. For a false value, omit the parameter entirely. The best way to specify a true parameter in an HTTP request is to use ; the trailing   ensures the browser or HTTP library does not discard the "empty" someParam.

时间戳
Parameters that take timestamp values accept multiple timestamp formats:


 * ISO 8601格式:.
 * MySQL的内部时间戳格式:.
 * UNIX时间戳格式  (自1970年1月1日以来的秒数).
 * UNIX时间戳格式  (自1970年1月1日以来的秒数).

输出时，时间戳总是ISO 8601格式.

输出
The standard and default output format in MediaWiki is JSON. All other formats are discouraged.

The output format should always be specified using  with yourformat being one of the following:

Response
Unless specified, all modules allow data output in all generic formats. To simplify debugging, all generic formats have "pretty-print in HTML" alternatives with an  suffix, e.g..

JSON参数
The following parameters can be used with  and  :


 * {{ApiParam|callback|The function in which the result will be wrapped. For safety, all user-specific data will be restricted. A number of things are disabled for security:
 * Tokens cannot be obtained so state-changing actions aren't possible.
 * The client is treated as an anonymous user (i.e. not logged in) for all purposes, even after logging in through {{ll|API:Login|action{{=}}login}}. This means that modules which require additional rights won't work unless anonymous users are allowed to use them.
 * {{ApiParam|callback|The function in which the result will be wrapped. For safety, all user-specific data will be restricted. A number of things are disabled for security:
 * Tokens cannot be obtained so state-changing actions aren't possible.
 * The client is treated as an anonymous user (i.e. not logged in) for all purposes, even after logging in through {{ll|API:Login|action{{=}}login}}. This means that modules which require additional rights won't work unless anonymous users are allowed to use them.
 * Tokens cannot be obtained so state-changing actions aren't possible.
 * The client is treated as an anonymous user (i.e. not logged in) for all purposes, even after logging in through {{ll|API:Login|action{{=}}login}}. This means that modules which require additional rights won't work unless anonymous users are allowed to use them.

Additional notes

 * XML and PHP output formats are depracated but still in use. Clients written in PHP should avoid using the PHP format because it is fundamentally insecure. It is maintained for now only due to its popularity.
 * There are many conversion libraries and online converters to convert JSON responses to other formats—for example, JSON-CSV converts to Comma-Separated Values.
 * Feed modules like Feed Recent Changes override the standard output format, instead using RSS or Atom, as specified by their  parameter. In those cases, the format specified in the   parameter is only used if there's an error.