.. -*-coding: utf-8 -*- .. rest2web header restindex page-title: simple is better - JSON-RPC crumb: JSON-RPC page-description: JSON-RPC /description tags: simple RPC, JSON, json-rpc, JSON-RPC 2.0 initialheaderlevel: 2 format: rest encoding: utf-8 output-encoding: None file: index.txt file: jsonrpc10.txt file: jsonrpc20.txt file: jsonrpc20-object-specification.txt file: jsonrpc20-schema-service-descriptor.txt file: jsonrpc20-smd.txt /restindex uservalues blockquote: linksource: /uservalues ======== JSON-RPC ======== :Author: Roland Koebler (rk *at* simple-is-better *dot* org) :Date: 2012-03-02 Although this is not an official JSON-RPC page, it is intended to be an up-to-date summary of all relevant information about JSON-RPC. Please tell `me`_ if there is some information missing, if an implementation is not listed etc. .. sectnum:: .. _me: mailto:rk(at)simple-is-better.org ------ Mailinglist =========== The JSON-RPC Working Group has a `mailinglist`_, in which all topics of and around the protocol are discussed. Feel free to join the list. .. _mailinglist: http://groups.google.com/group/json-rpc/ Specifications ============== *JSON-RPC is a lightweight remote procedure call protocol. It's designed to be simple!* JSON-RPC 2.0 ------------ **Specifications:** - `JSON-RPC 2.0`_ (final) **Working Drafts:** - *JSON-RPC transports* (JSON-RPC over HTTP/TCP/netstrings/...) JSON-RPC does not depend on any specific transport. Any transport should be possible. As "rule-of-thumb": simply tunnel JSON-RPC through your desired transport. Nevertheless, here are some recommendations how to use JSON-RPC over some commonly-used transports. - Draft for `JSON-RPC over Sockets `_ (TCP / Unix Domain Sockets) - Draft for `JSON-RPC over HTTP `_ - *Service Description* / Introspection - old Draft 1: `JSON Schema Service Descriptor `_ - old Draft 2: `Simple Method Description example `_ - JSON DateTime format - JSON-RPC - HTTP REST conversion - attachments - UBJSON-RPC ("Binary JSON RPC") - ... **Application Notes:** - FAQ (TODO) - main `differences to JSON-RPC 1.0`_ .. _JSON-RPC 2.0: jsonrpc20.html .. _differences to JSON-RPC 1.0: http://www.simple-is-better.org/rpc/#differences-between-1-0-and-2-0 JSON-RPC 1.0 ------------ - `JSON-RPC 1.0 specification`_ .. _JSON-RPC 1.0 specification: jsonrpc10.html Implementations =============== A list of implementations can also be found at: - http://en.wikipedia.org/wiki/JSON-RPC#Implementations - http://json-rpc.org/wiki/implementations =========== =================== =================== =========== =================== =================================== Language JSON-RPC Version Name License Code Example Link Description =========== =================== =================== =========== =================== =================================== (TODO) =========== =================== =================== =========== =================== =================================== Links ===== RPC: - http://en.wikipedia.org/wiki/Remote_procedure_call JSON-RPC: - `json-rpc.org`_ -- a currently outdated page about JSON-RPC - `english`_ and `german`_ Wikipedia-articles about JSON-RPC - Matt's `jsonrpc.org`_ page and `json-rpc.info`_ blog - Matt's `JSON-RPC Object Specification `_ - `JSON-WSP (Wikipedia)`_ -- a JSON-RPC-inspired RPC-protocol which includes service descriptions, but which requires http, probably doesn't support positional parameters and has only few implementations. - my `thoughts about RPC`_ and JSON-RPC JSON: - `JSON`_ (`JSON in Wikipedia`_) -- JavaScript Object Notation - `JSON: The Fat-Free Alternative to XML`_ - `BSON`_ (`BSON in Wikipedia`_), `BISON`_, `UBJSON`_, `SmileFormat`_: different "binary JSON" standards - `JsonML`_ (`JsonML in Wikipedia`_): Map between XML and JSON - ... .. _json-rpc.org: http://www.json-rpc.org .. _english: http://en.wikipedia.org/wiki/JSON-RPC .. _german: http://de.wikipedia.org/wiki/JSON-RPC .. _jsonrpc.org: http://jsonrpc.org .. _json-rpc.info: http://json-rpc.info .. _JSON-WSP (Wikipedia): http://en.wikipedia.org/JSON-WSP .. _thoughts about RPC: ../rpc/ .. _JSON: http://www.json.org .. _JSON in Wikipedia: http://en.wikipedia.org/wiki/JSON .. _JSON\: The Fat-Free Alternative to XML: http://www.json.org/xml.html .. _BSON: http://www.bsonspec.org .. _BSON in Wikipedia: http://en.wikipedia.org/wiki/BSON .. _BISON: http://kaijaeger.com/articles/introducing-bison-binary-interchange-standard.html .. _UBJSON: http://ubjson.org/ .. _SmileFormat: http://wiki.fasterxml.com/SmileFormat .. _JsonML: http://jsonml.org/ .. _JsonML in Wikipedia: https://en.wikipedia.org/wiki/JsonML