亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用golang中的jsonrpc包將嵌套映射從服務器發送到客戶端?

如何使用golang中的jsonrpc包將嵌套映射從服務器發送到客戶端?

Go
素胚勾勒不出你 2021-11-08 18:56:47
我正在編寫一個客戶端服務器 go 應用程序,它使用雅虎金融 api 來獲取實時股票價格。我正在使用 jsonrpc 包來連接客戶端和服務器。我無法將嵌套地圖響應從服務器傳遞到客戶端。這是我來自客戶端文件的小片段??蛻舳?go文件var (        reply map[string]map[int]float64    )    c := jsonrpc.NewClient(client)    err = c.Call("JSONResponse.GetStockValue", args, &reply)    fmt.Println(reply)服務器文件如下所示:func (j *JSONResponse) GetStockValue(args *ClientRequest, reply *map[string]map[int]float64) error { some piece of code...... nestedMap := make(map[string]map[int]float64) add some values in nested map ..... fmt.Println(nestedMap) *reply = nestedMap  return nil}這不會向客戶端發送任何響應。當我將嵌套地圖更改為像 map[string]int 這樣的簡單地圖時,它可以正常工作。嵌套地圖在服務器上正確顯示,但不會在客戶端顯示??蛻舳酥皇抢^續等待服務器的響應。如果有人可以指導我為什么它不接受嵌套地圖并且對簡單地圖工作正常,那將非常有幫助?謝謝 :)
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

jsonrpcjson rpc因為它json用于序列化。要將地圖編組到json,您需要string密鑰類型。參考編碼/json


查看完整回答
反對 回復 2021-11-08
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

如果您打印出您的err此處,err = c.Call("JSONResponse.GetStockValue", args, &reply)您應該會看到原因invalid character '' looking for beginning of object key string.

JSON規范說對象的關鍵需求是string。

或者,如果您正在使用 JSON string,則json: cannot unmarshal object into Go value of type map[int]float64


查看完整回答
反對 回復 2021-11-08
  • 2 回答
  • 0 關注
  • 217 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號