您好,我试图取消marshax字段中数组的值,但尝试返回空数组,我不知道原因。任何人都可以帮我吗?代码如下:package mainimport ( "fmt" "encoding/json")func main() { fmt.Println("Hello, playground") type order struct { Uid string `json:"uid"` Name string `json:"name"` State string `json:"state"` } type Root struct { q []order } s := `{"q":[{"uid":"0x4ecb99b9","name":"Brandon Test Order","state":"draft"}]}` var r Root ero := json.Unmarshal([]byte(s), &r) if ero != nil { fmt.Println("error order") fmt.Println(ero) } fmt.Println("order") fmt.Println(r.q) return}这是输出结果Hello, playgroundorder[]
2 回答
烙印99
TA贡献1829条经验 获得超13个赞
看起来您的结构和 Json 标记不匹配。请使用以下重构的代码。你可以在这里找到关于游乐场的工作片段。此外,订单必须导出。
type order struct {
Uid string `json:"uid"`
Name string `json:"name"`
State string `json:"state"`
}
type Root struct {
Orders []order `json:"q"`
}
喵喔喔
TA贡献1735条经验 获得超5个赞
试试这个结构
type GetOrder struct {
Orders []struct {
Uid string `json:"uid"`
Name string `json:"name"`
State string `json:"state"`
} `json:"q"`
}
- 2 回答
- 0 关注
- 71 浏览
添加回答
举报
0/150
提交
取消