加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何解析Golang中嵌套JSON对象中的内部字段?

发布时间:2020-12-16 09:45:53 所属栏目:大数据 来源:网络整理
导读:我有一个JSON对象类似于这一个: { "name": "Cain","parents": { "mother" : "Eve","father" : "Adam" }} 现在我想解析“name”和“mother”到这个结构体: struct { Name String Mother String `json:"???"`} 我想使用json:… struct标签指定JSON字段名称
我有一个JSON对象类似于这一个:
{
  "name": "Cain","parents": {
    "mother" : "Eve","father" : "Adam"
  }
}

现在我想解析“name”和“mother”到这个结构体:

struct {
  Name String
  Mother String `json:"???"`
}

我想使用json:… struct标签指定JSON字段名称,但是我不知道要使用什么作为标签,因为它不是我感兴趣的顶级对象。我在encoding/json找不到这个package docs也不在流行的博客JSON and Go.我也测试了母亲,父母/母亲和parents.mother。

不幸的是,与编码/ xml不同,json包不提供访问嵌套值的方法。您将需要创建单独的Parents结构或将类型指定为map [string] string。例如:
type Person struct {
    Name string
    Parents map[string]string
}

然后你可以为母亲提供一个吸气剂:

func (p *Person) Mother() string {
    return p.Parents["mother"]
}

这可能或可能不会播放到您当前的代码库,如果重构母亲字段到方法调用不在菜单上,那么您可能想要创建一个单独的方法来解码和符合当前结构。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读