我有一個發送/解析請求的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 關注
- 87 瀏覽
添加回答
舉報
0/150
提交
取消