可以使用标准库中的 encoding/json 包将 map[string]interface{} 转换为 JSON 格式的字符串。

示例代码:

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    data := map[string]interface{}{
        "name": "Alice",
        "age":  18,
        "hobbies": []string{
            "reading",
            "traveling",
        },
    }

    jsonStr, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(jsonStr))
}

输出结果:

{"age":18,"hobbies":["reading","traveling"],"name":"Alice"}

注意事项:

  • map[string]interface{} 中的键必须是字符串类型,值可以是任意类型。
  • 如果 map 中包含自定义类型的值,需要自定义该类型的 MarshalJSON() 方法,以便将该类型转换为 JSON 格式的字符串。
golang map[string]interface{} 转json

原文地址: https://www.cveoy.top/t/topic/qOG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录