私はかなり新しいです。
このパッケージhttps://github.com/kdar/httprpcを使用して、json-rpc v 1.0 リクエストを実行します (golang は 2.0 のみを実装しているため)。
問題があります。私が呼び出しているこのサーバーは、次のように「id」を文字列として返します
"id":"345"
それ以外の
"id":345
私が見つけた唯一の方法は、uint64 の代わりに文字列を使用して clientResponse を再定義することでした
type clientResponse struct {
Result *json.RawMessage `json:"result"`
Error interface{} `json:"error"`
Id string `json:"id"`
}
そして、全く同じ DecodeClientResponse 関数を再定義して、私の clientResponse を使用します
CallJson の代わりに、(gjson.DecodeClientResponse の代わりに DecodeClientResponse) を呼び出します。
httprpc.CallRaw(address, method, ¶ms, &reply, "application/json",
gjson.EncodeClientRequest, DecodeClientResponse)
これはかなり醜いと思います。もっとうまくやる方法はありますか?
ありがとう