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 的情况。