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

前端之家收集整理的这篇文章主要介绍了如何解析Golang中嵌套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"]
}

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

猜你在找的Go相关文章