API:Data formats/ru
From MediaWiki.org
[edit] API:Форматы данных
| Эта страница является частью документации по MediaWiki API. |
MediaWiki API поддерживает несколько основных форматов вывода (XML, JSON, YAML, ...), а так же некоторые специальные форматы (RSS, ...) для специальных модулей.
Если не указано обратное, все модули позволяют получить вывод во всех основных форматах. Для упрощения отладки, некоторые форматы имеют альтернативы для печати в HTML с суффиксом 'fm'. По умолчанию используется формат xmlfm.
| Код | Описание | Параметры |
|---|---|---|
| json | JSON | callback (необяз.): оборачивает вывод в вызов требуемой функции |
| jsonfm | JSON (HTML) | callback (необяз.): оборачивает вывод в вызов требуемой функции |
| php | сериализованный PHP | |
| phpfm | сериализованный PHP (HTML) | |
| wddx | WDDX | |
| wddxfm | WDDX (HTML) | |
| xml | XML | |
| xmlfm | XML (HTML) | |
| yaml | YAML | |
| yamlfm | YAML (HTML) | |
| rawfm | JSON с элементами отладки (HTML) | callback (opt): оборачивает вывод в вызов требуемой функции |
[edit] Примеры
XML
<?xml version="1.0" encoding="utf-8"?> <api> <query> <pages> <page pageid="736" ns="0" title="Albert Einstein" touched="2007-07-06T04:37:30Z" lastrevid="142335140" counter="4698" length="86906" /> </pages> </query> </api>
JSON
{ "query": { "pages": { "736": { "pageid": 736, "ns": 0, "title": "Albert Einstein", "touched": "2007-07-06T04:37:30Z", "lastrevid": 142335140, "counter": 4698, "length": 86906 } } } }
YAML
---
query:
pages:
-
pageid: 736
ns: 0
title: Albert Einstein
touched: 2007-07-06T04:37:30Z
lastrevid: 142335140
counter: 4698
length: 86906
WDDX
<?xml version="1.0" encoding="utf-8"?> <wddxPacket version="1.0"> <header/> <data> <struct> <var name="query"> <struct> <var name="pages"> <struct> <var name="736"> <struct> <var name="pageid"> <number>736</number> </var> <var name="ns"> <number>0</number> </var> <var name="title"> <string>Albert Einstein</string> </var> <var name="touched"> <string>2007-07-06T04:37:30Z</string> </var> <var name="lastrevid"> <number>142335140</number> </var> <var name="counter"> <number>4698</number> </var> <var name="length"> <number>86906</number> </var> </struct> </var> </struct> </var> </struct> </var> </struct> </data> </wddxPacket>
PHP (добавлены переносы строк для удобства)
a:1:{s:5:"query";a:1:{s:5:"pages";a:1:{i:736;a:7:{s:6:"pageid";i:736;s:2:"ns";i:0;s:5:"title";s:15:"Albert Einstein";
s:7:"touched";s:20:"2007-07-06T04:37:30Z";s:9:"lastrevid";i:142335140;s:7:"counter";i:4698;s:6:"length";i:86906;}}}}