JSONRPC格式在Jsonrpc4j和go的rpc / jsonrpc之间有所不同

时间:2015-11-05 10:16:13

标签: java json go jsonrpc4j

当我尝试使用net / jsonrpc包来构建服务器和使用jsonrpc4j的Java客户端时遇到了问题

问题是jsonrpc4j是错误发生时,golang的方法会返回错误并编码为json。

我在客户端

中得到了这个json对象
  

{“id”: - 6028374044949000,“result”:null,“error”:“某些错误返回消息”}

此对象强制转换在java的json4j中失败。

http://www.jsonrpc.org/specification#error_object

在我检查了jsonrpc页面之后,据说错误字段必须是带有字段[code,message,date]的json对象,golang jsonrpc包不符合要求。

所以我很困惑如何解决这个问题。 更改jsonrpc lib, 只需将rpc方式替换为thrift / gRpc, 避免返回错误但在回复中发送错误并让Java检查响应, 或者只是编辑了json4j或golang的源代码(我对这个选项非常可怕)

感谢观看。

1 个答案:

答案 0 :(得分:0)

如果您需要Go的JSON-RPC 2.0支持,可以尝试https://github.com/powerman/rpc-codec