如何解析嵌套JSON对象中的内部字段
我有一个与此对象相似的JSON对象:
{  "name": "Cain",
  "parents": {
    "mother" : "Eve",
    "father" : "Adam"
  }
}
现在,我想将“ name”和“ mother”解析为该结构:
struct {  Name String
  Mother String `json:"???"`
}
我想用json:...struct标签指定JSON字段名称,但是我不知道该用什么作为标签,因为它不是我感兴趣的顶级对象。我在encoding/json软件包文档中也没有找到关于此的任何内容博客文章JSON和Go。我还测试mother,parents/mother和parents.mother。
回答:
遗憾的是,与包不同encoding/xml,该json包没有提供访问嵌套值的方法。您需要创建一个单独的Parents结构或将类型分配为map[string]string。例如:
type Person struct {    Name string
    Parents map[string]string
}
然后,您可以为母亲提供吸气剂:
func (p *Person) Mother() string {    return p.Parents["mother"]
}
这可能会或可能不会影响您当前的代码库,并且如果Mother菜单上未包含将字段重构为方法调用的内容,那么您可能想创建一个单独的方法来解码并符合当前结构。
以上是 如何解析嵌套JSON对象中的内部字段 的全部内容, 来源链接: utcz.com/qa/405992.html

