Though Json-RPC provides methods to interact with the Blockchain, there are certain rules to be followed to use Json-RPC such as:
- JSON-RPC protocol implementation
- Binary format encoding/decoding for creating and interacting with smart contracts
- 256-bit numeric types
- Admin command support
This is a headache for developers because it is an extra task for them. The libraries are designed to follow these rules by default and so it's easier to use the libraries