2 回答

TA贡献1818条经验 获得超11个赞
你快到了。解析整个文档,然后挑选出你想要的部分。
var results map[string][]interface{}
json.Unmarshal([]byte(empArray), &results)
fmt.Println(results["meta"])

TA贡献1850条经验 获得超11个赞
您应该使用自定义结构:
type Employee struct {
ID int `json:"id"`
Name string `json:"name"`
Department string `json:"department"`
Designation string `json:"designation"`
}
type Employees struct {
Meta []Employee `json:"meta"`
}
当您尝试将提供的字符串解组为Employeesvar 时,它将读取注释并知道每个字段的放置位置。您可以在Golang Playground找到工作示例。我在结构中添加了一个字符串表示,Employee以便fmt.Println输出更可红色。
在有一个额外的嵌套键 ( {meta: {data: [...]}}) 的情况下,类型如下:
type Employee struct {
ID int `json:"id"`
Name string `json:"name"`
Department string `json:"department"`
Designation string `json:"designation"`
}
type EmployeesData struct {
Data []Employee `json:"data"`
}
type Employees struct {
Meta EmployeesData `json:"meta"`
}
您也可以在Golang Playground找到工作示例。
注意:我没有正确命名结构的上下文,因此我使用了Employees并且EmployeesData您应该使用更具描述性的名称,以帮助理解整个对象所代表的内容,而不仅仅是元和数据字段。
- 2 回答
- 0 关注
- 501 浏览
添加回答
举报