3 回答
TA贡献1712条经验 获得超3个赞
使用encoding/jsonpackage 将数据解组为结构体,如下所示。
type Result struct {
ID string `json:"id"`
Name string `json:"name"`
Test []interface{} `json:"test"`
}
var result Result
json.Unmarshal(contents, &result)
fmt.Println(result.Test)
您还可以解析Test为特定的结构。
TA贡献1858条经验 获得超8个赞
与上一个答案相同,使用 encoding/json 包解组数据。但是如果你不想指定结构,你可以使用 map[string]interface/bson.M{} 来接收数据,并获取字段,然后转换为你想要的类型。
m := make(map[string]interface{})
err := json.Unmarshal(data, &m)
if err != nil {
log.Fatal(err)
}
fmt.Println(m["id"])
TA贡献1846条经验 获得超7个赞
如果您只想访问一个字段,那么您可以使用 jsonq 模块https://godoc.org/github.com/jmoiron/jsonq
对于您的示例,您可以使用类似于
jq.Object("test")
其中 jq 是从上面的 JSON 构造的 jsonq 查询对象(有关如何从 JSON 流或字符串创建查询对象的说明,请参阅 godoc 页面)。
您还可以使用此库来检索 JSON 对象内任意深度的特定字符串、整数、浮点数和布尔值。
- 3 回答
- 0 关注
- 161 浏览
添加回答
举报