我為地圖創(chuàng)建了一個自定義類型。我想將數(shù)組 json 響應(yīng)解封到地圖中。每次收到響應(yīng)時,映射的鍵值都會更改。我遇到的問題是取消封送函數(shù)未正確映射到自定義值。 type id map[string]yp type yp struct { f1 string f2 int } func main() { data := []byte("[{\"unique1\":{\"f1\":\"1\",\"f2\":\"2\"}},{\"unique2\":{\"f1\":\"4\",\"f2\":\"7\"}}]") var i []id json.Unmarshal(data,&i) fmt.Printf("%v",i) }
1 回答

慕少森
TA貢獻2019條經(jīng)驗 獲得超9個贊
由于 的源值為字符串,因此需要添加字段標(biāo)記:f2
package main
import (
"encoding/json"
"fmt"
)
var data = []byte(`
[
{
"unique1": {"f1": "1", "f2": "2"}
}, {
"unique2": {"f1": "4", "f2": "7"}
}
]
`)
func main() {
var ids []map[string]struct {
F1 string
F2 int `json:"f2,string"`
}
json.Unmarshal(data, &ids)
// [map[unique1:{F1:1 F2:2}] map[unique2:{F1:4 F2:7}]]
fmt.Printf("%+v\n", ids)
}
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消