golang json.RawMessage 类型 怎么获取里面的数据
在 Go 中,可以通过将 json.RawMessage 类型转换为 []byte 类型,然后使用 json.Unmarshal() 函数将其解码为目标类型来获取 RawMessage 中的数据。例如:
var raw json.RawMessage = []byte(`{"name":"John","age":30}`)
var data map[string]interface{}
err := json.Unmarshal(raw, &data)
if err != nil {
// 处理错误
}
fmt.Println(data["name"]) // 输出 John
fmt.Println(data["age"]) // 输出 30
在上面的示例中,我们首先定义了一个 json.RawMessage 类型的变量 raw,它包含了一个 JSON 对象。然后,我们使用 json.Unmarshal() 函数将 raw 解码为一个 map[string]interface{} 类型的变量 data,这样我们就可以使用 data["name"] 和 data["age"] 来访问 JSON 对象中的数据了。
原文地址: https://www.cveoy.top/t/topic/scH 著作权归作者所有。请勿转载和采集!