golang json.RawMessage 如何获取里面的数据
可以通过将json.RawMessage转换为一个具体的结构体或者使用json.Unmarshal函数将其解码为一个map[string]interface{},然后再从map中获取需要的数据。
以下是一个示例代码:
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
var raw json.RawMessage = []byte(`{"name":"John", "age":30}`)
// 转换为具体的结构体
var p Person
json.Unmarshal(raw, &p)
fmt.Println("Name:", p.Name, "Age:", p.Age)
// 解码为map
var m map[string]interface{}
json.Unmarshal(raw, &m)
fmt.Println("Name:", m["name"].(string), "Age:", m["age"].(float64))
输出结果:
Name: John Age: 30
Name: John Age: 30
原文地址: https://www.cveoy.top/t/topic/uHa 著作权归作者所有。请勿转载和采集!