JSON-RPC
JSON-RPC is a remote procedure call protocol based on JSON. JSON-RPC is documented at
http://json-rpc.org/.
JSON is a specification for encoding and decoding structured data: numbers, strings, booleans, and arrays (lists) or objects (associative arrays) composed of them. Although the J stands for Javascript, it is in no way dependent on Javascript, Java or any other particular language. It is formally defined in
RFC4627, which is only seven pages long, so writing JSON serializers/deserializers is not hard in any reasonable language.
There is an introduction and list of resources (including libraries for various languages) at
http://www.json.org/.
JSON-RPC provides a very small amount of additional structure on top of JSON itself to define an RPC protocol. It is not tied to a particular underlying transport, but HTTP POST is discussed on the web site and a persistent connection seems to be assumed. However, other RPC or messaging protocols which use JSON for structured data encoding (for instance, ones with more per-message metadata, or ones which use HTTP GET rather than persistent connections) would be easy to specify.
--
MarkTaylor - 23 May 2007