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