試圖將字符串解組為 json,但我的結構定義不起作用。如何修復?package mainimport "fmt"import "encoding/json"func main() { x := `{ "Header": { "Encoding-Type": [ "gzip" ], "Bytes": [ "29" ] }}` type HeaderStruct struct { A string B []string } type Foo struct { Header HeaderStruct } var f Foo if e := json.Unmarshal([]byte(x), &f); e != nil { fmt.Println("Failed:", e) } else { fmt.Println("unmarshalled=", f) }}
2 回答

明月笑刀無情
TA貢獻1828條經驗 獲得超4個贊
您的變量名稱與 json 鍵的名稱不匹配,并且它們都是[]string. 你可以做
type HeaderStruct struct {
A []string `json:"Encoding-Type"`
B []string `json:"Bytes"
}

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
您需要 json 注釋來告訴解組器哪些數據去哪里,A模型中的類型也是錯誤的,它也應該是一個數組。我還要將您的字段名稱更改為有意義的名稱...
type HeaderStruct struct {
Encoding []string `json:"Encoding-Type"`
Bytes []string `json:"Bytes"
}
- 2 回答
- 0 關注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消