可以通过将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
golang json.RawMessage 如何获取里面的数据

原文地址: https://www.cveoy.top/t/topic/uHa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录