golang json.RawMessage 怎么获取里面的数据
可以使用Unmarshal方法将json.RawMessage转换为结构体或者map类型,然后获取其中的数据。
例如,假设有以下的json数据:
{
"name": "John",
"age": 30,
"address": {
"city": "New York",
"state": "NY"
}
}
可以使用json.RawMessage将其解码为一个变量:
var data json.RawMessage = []byte(`{
"name": "John",
"age": 30,
"address": {
"city": "New York",
"state": "NY"
}
}`)
然后可以将其转换为map类型:
var m map[string]interface{}
if err := json.Unmarshal(data, &m); err != nil {
panic(err)
}
现在可以使用map的方式访问其中的数据:
fmt.Println(m["name"]) // John
fmt.Println(m["age"]) // 30
address := m["address"].(map[string]interface{})
fmt.Println(address["city"]) // New York
fmt.Println(address["state"]) // NY
类似的,也可以将json解码为结构体类型,然后访问其中的数据。
原文地址: http://www.cveoy.top/t/topic/sbX 著作权归作者所有。请勿转载和采集!