我有一个发送/解析请求的Go HTTP客户端。JSON-RPCHTTP 开机自检请求 :[ {"id":"1", "method":"action1","params":[]}, {"id":"2", "method":"action2","params":[]}, ... {"id":"X", "method":"actionX","params":[]}]响应 :[ {"id":"1", "error":null, "result":{...}}, {"id":"2", "error":null, "result":{...}}, ... {"id":"X", "error":null, "result":{...}}]如何处理那些有效负载,其中键是具有动态架构的对象,具体取决于键的值。resultid
1 回答

蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
您可以通过将结果取消编组为 json 来指示 json 库不要取消封送结果字段。RawMessage,在本例中将响应解封为以下部分:
type result struct{
ID string `json:"id"`
Err *string `json:"error"` // maybe a string?
Result json.RawMessage `json:"result"`
}
然后,当您知道您正在处理哪个ID时,您可以取消封结到另一个具有您期望的结构的结构中。result.ID
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消