
如何绕过 struct 来生成 json
在 go 语言中,使用 struct 来生成 json 是常见的方法。但对于拥有大量 json 结构的情况,这种方式显得过于繁琐。对于那些寻找更灵活解决方案的人来说,があります。
map[string]interface{}
map[string]interface{} 类型提供了一种无需使用 struct 即可生成 json 的方法。它是一个键值对集合,其中键是字符串,值可以是任何类型的值。以下示例演示了如何使用 map[string]interface{} 生成 json:
import "encoding/json"
func main() {
b, err := json.marshal(map[string]interface{}{
"a": "aa",
"b": "bb",
"c": "cc",
"d": "dd",
})
if err != nil {
panic(err)
}
fmt.println(string(b))
}输出结果:
{"a":"aa","b":"bb","c":"cc","d":"dd"}使用 map[string]interface{} 的优点在于其灵活性。它允许你创建自定义 json 结构,而无需定义复杂的 struct 类型。这对于生成需要在运行时动态创建的 json 数据特别有用。










