Jump to content

JSON

From mediawiki.org

JSON (JavaScript Object Notation) is one of the supported formats for data exchange. It is not only used internally by the software of MediaWiki core and many extensions, but with the help of third-party extensions the wiki itself can be a powerful vehicle for storing as well as working with JSON data. This page is about the latter.

JSON in the wiki

[edit]

Content model

[edit]

Wiki pages can have content models other than wikitext, including JSON. The simplest way to change the content model of a page to JSON is by going to 'Page information' and selecting JSON. See Manual:ContentHandler for more info.

JSON can also be stored separately in a content slot of the wiki page. For more information on content slots, see MCR.

Mixed content

[edit]

Although it is seen much more rarely, there are also extensions that let you use a section of a wikitext page to contain JSON content. An example is Extension:TemplateData, which offers a tag templatedata for describing a template and its parameters in the JSON format. Once stored, this information is made available (over the API) to extensions like VisualEditor.

Creating and editing JSON

[edit]

General purpose:

  • Extension:FlexForm - an extension for HTML5 forms which lets you create and edit JSON pages on the wiki. Supports JSON in content slots. FlexForm also supports the JSON format for creating the schema of a form.
  • Extension:WSSlots - lets you set the default content model of a slot to JSON.

Special purpose:

Code language support and Syntax highlighting

[edit]

Converting/exporting to JSON

[edit]

Even when data are not necessarily stored in JSON, there are ways to retrieve them in that format.

  • The MediaWiki API lets you interact with the wiki, using JSON as a primary format by appending &format=json to the URL. See also API:Data formats.
  • Extension:Semantic MediaWiki (SMW) - lets you use the wiki to store and query data in a database. Data can be exported in a number of result formats, including JSON. See e.g. the JSON result format and the JSON export function that comes with Datatables.
  • Many extensions come with a custom API that lets you retrieve data in JSON, including SMW, Page Forms, FlexForm, TextExtracts, etc., etc. ...
  • GoogleRichCards (beta) - generates Google Rich Cards in JSON-LD format

Reading and working with JSON

[edit]

JSON in extensions

[edit]

Validation against a JSON schema

[edit]

Although MediaWiki does not provide full built-in support for validation against schemas, there are some options you could consider, including:[1]

See also

[edit]
  1. ↑ See this RFC and T147137