JSON RPC名称中的JSON是否因返回JSON格式数据而得名?
JSON-RPC中「JSON」的具体含义
JSON-RPC命名里的JSON,同时指代请求和响应的编码格式,整个协议的交互 payload 全程基于JSON规范定义,这也是它和其他RPC协议(比如XML-RPC、gRPC等)最直观的区分标志。
具体来说,JSON-RPC是无状态的轻量级远程过程调用协议,协议本身强制要求客户端发往服务端的请求、服务端返回给客户端的响应,都必须符合约定的JSON结构,不支持其他格式的报文交互:
- 标准的JSON-RPC 2.0请求示例:
{ "jsonrpc": "2.0", "method": "getUserInfo", "params": { "userId": 10086 }, "id": 1 }
- 对应的标准响应示例:
{ "jsonrpc": "2.0", "result": { "userName": "张三", "regTime": "2023-01-01" }, "id": 1 }
你之前接触的REST API没有强制要求序列化格式,可以按需返回JSON、XML甚至纯文本,但JSON-RPC的协议规范直接绑定了JSON作为唯一的序列化格式,这就是它命名中JSON的实际含义。
内容的提问来源于stack exchange,提问作者YulePale
相关产品推荐
相关产品推荐

