JSON-RPC is a simple specification for doing Remote Procedure Calls (RPC).
JSON gives us a format that can be readily converted to known and fairly standard data structures across platforms and languages, making the goal of cross platform and cross language RPC very simple.
JSON-RPC describes several object shapes and expectations around the exchange of those objects.
The JSON-RPC 2.0 specification has been finalized and published in an effort to match both user expectations and reflect how JSON-RPC is used.

JSON-RPC Request and Response Objects