如何使用 Go 将 json 的深层嵌套部分转换为单个字符串

问题描述

我有一些具有类似于以下结构的 json 数据:

{
     "value1": "some value"
     "value2": "some other value"
     "value3": "another value"
     "value4": {
          "data":[
              {
                ...more nested values here with a few more levels
               }
             ]
            }
}

我将如何布置结构,以便“value4”的所有数据在 Go 中作为单个字符串返回?

目前我正在使用 json.NewDecoder(r.Body).Decode(dataValues) 其中 dataValues 是一个类似于:

type DataValues struct {
Value1 string `json:"value1"`
Value2 string `json:"value2"`
Value3 string `json:"value3"`
// not sure how to define Value4
}

提前致谢!

解决方法

我将如何布置结构,以便“value4”的所有数据在 Go 中作为单个字符串返回?

如果您愿意,您可以使用 encoding/json 中的 RawMessage 来“延迟”解组并捕获您想要作为字符串处理的部分。

这是一个简单的 solution