我正在編寫一個客戶端服務(wù)器 go 應(yīng)用程序,它使用雅虎金融 api 來獲取實時股票價格。我正在使用 jsonrpc 包來連接客戶端和服務(wù)器。我無法將嵌套地圖響應(yīng)從服務(wù)器傳遞到客戶端。這是我來自客戶端文件的小片段??蛻舳?go文件var ( reply map[string]map[int]float64 ) c := jsonrpc.NewClient(client) err = c.Call("JSONResponse.GetStockValue", args, &reply) fmt.Println(reply)服務(wù)器文件如下所示: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}這不會向客戶端發(fā)送任何響應(yīng)。當(dāng)我將嵌套地圖更改為像 map[string]int 這樣的簡單地圖時,它可以正常工作。嵌套地圖在服務(wù)器上正確顯示,但不會在客戶端顯示??蛻舳酥皇抢^續(xù)等待服務(wù)器的響應(yīng)。如果有人可以指導(dǎo)我為什么它不接受嵌套地圖并且對簡單地圖工作正常,那將非常有幫助?謝謝 :)
2 回答

收到一只叮咚
TA貢獻1821條經(jīng)驗 獲得超5個贊
如果您打印出您的err
此處,err = c.Call("JSONResponse.GetStockValue", args, &reply)
您應(yīng)該會看到原因invalid character '' looking for beginning of object key string.
的JSON規(guī)范說對象的關(guān)鍵需求是string
。
或者,如果您正在使用 JSON string
,則json: cannot unmarshal object into Go value of type map[int]float64
- 2 回答
- 0 關(guān)注
- 218 瀏覽
添加回答
舉報
0/150
提交
取消