JSON-RPC

JSON-RPC は、エンコード（符号化）にJSONを採用した遠隔手続き呼出し (RPC) プロトコルの一種である。 非常にシンプルなプロトコルであり、少数のデータ型やコマンドのみが定義されている。JSON-RPCでは、通知（データをサーバに送信するもののレスポンスを必要としない）と、順序の保証されない複数呼び出しが可能である。
類似のプロトコルとしてはエンコードにXMLを用いるXML-RPCが存在する。
使い方.
JSON-RPCはこのプロトコルを実装するサーバに送信されることで用いられる。クライアントは一般的にはリモートシステムのメソッドを呼び出すことを意図したソフトウェアとなる。複数の入力パラメータを配列やオブジェクトとしてリモートメソッドに送信することが出来るが、またリモートメソッドも複数の出力データを返すことができる（この動作はバージョンにより異なる）。
全ての転送データはシリアライズされたJSONオブジェクトとしてあらわされる。リクエストはリモートシステムが提供する特定のメソッドを呼び出す。リクエストには以下の3つの重要なプロパティを含む必要がある。
リクエストを受け取った側は、受け取った全てのリクエストに対して正しいレスポンスを返さなければならない。レスポンスは正常/エラーに応じて以下のプロパティを含む必要がある。
この他に、レスポンスを必要としない通知のための仕組みが導入されている。レスポンスを返さない場合idは必要ないため、通知のリクエストはidを取り除いたリクエストの形式になっている。通知の場合 codice_3 を送らない（バージョン2.0）または codice_8 にする（バージョン1.0）べきである。
例.
以下のサンプルでは、サーバへのリクエストを codice_9 で、サーバからのレスポンスを codice_10 で示す（ただしレスポンスはJSON-RPCのバージョンによっては必須ではない）。
外部リンク.
[[Category:アプリケーション層プロトコル]]
[[Category:JSON|RPC]]
[[Category:遠隔手続き呼出し]]