Golang 生成 JSON:除了 struct,还有哪些方法?

golang 生成 json:除了 struct,还有哪些方法?

golang 生成 json:除了 struct,还有 map[string]interface{}

你可能听说过,在 golang 中生成 json 的最佳做法是使用结构体。通过定义与 json 结构相匹配的结构体,你可以使用 json.marshal 函数轻松地将数据序列化为 json

但是,对于有大量不同 json 结构的情况,定义结构体可能会很繁琐。在这种情况下, существует另两条路可供:map[string]interface{}

map[string]interface{} 可以动态地存储任意键值对,为你提供了生成 json 的灵活性。你可以使用以下代码生成 json

b, _ := json.marshal(map[string]interface{}{
    "a": "aa",
    "b": "bb",
    "c": "cc",
    "d": "dd",
})

这样,你就可以生成以下 json

{
  "a": "aa",
  "b": "bb",
  "c": "cc",
  "d": "dd"
}

这种方法提供了生成 json 的便利性,而无需定义特定的结构体。它非常适合处理结构不固定的情况或需要动态生成 json 的情况。

以上就是Golang 生成 JSON:除了 struct,还有哪些方法?的详细内容,更多请关注其它相关文章!