为了账号安全,请及时绑定邮箱和手机立即绑定

解组到地图

解组到地图

Go
牛魔王的故事 2021-07-28 17:54:42
如何将数据解组到地图中?JSON 是一个对象列表,我想在解组过程中将其转换为地图。但是,初始化地图似乎会创建一个未正确返回的新对象。type foo struct {    Id string `json:"id"`    Name string `json:"name"`}type fooList []*footype fooMap map[string]*foofunc (f fooMap) UnmarshalJSON(data []byte) error {    f := fooMap{} // required since map is not initialized    var results fooList    if err := json.Unmarshal(data, &results); err != nil {        return err    }    for i := 0; i < len(results); i++ {        result := results[i]        f[result.Id] = result    }    return nil}我已经检查以确保没有错误并且地图在 Unmarshal 函数的末尾包含正确的值,但是当我查看结果应该被解组到的对象时,它是空的。下面是我如何解组父对象,它是包含 fooMaps 的结构片段。type bar struct {    Foos fooMap `json:"foos"`}type bars []*bar...var results barsif err := json.Unmarshal(data, &results); err != nil {    return err}// here results contains a single bar item (which is correct) but the Foos// property does not exist at all我还尝试更改Foos为类型*fooMap,然后将解组函数更新为,func (f *fooMap) UnmarshalJSON(...)但从未调用解组函数。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信