如何在go lang中将接口的map映射转换为字符串

时间:2019-02-20 13:23:52

标签: go

我刚开始学习lang,我有一种如下类型的变量:

type ResultData map[string]map[string][]interface{}

当我在此变量中接收数据时,如何在Go lang中将整个数据转换为单个字符串。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用类似Sprintf的内容:

func main() {
    d1 := map[string][]interface{}{
        "a": []interface{}{20, "hello"},
        "b": []interface{}{100}}
    d2 := map[string][]interface{}{
        "x": []interface{}{"str", 10, 20},
    }

    m := make(map[string]map[string][]interface{})
    m["d1"] = d1
    m["d2"] = d2

    s := fmt.Sprintf("%v", m)
    fmt.Println(s)
}

或者您也可以使用json模块执行此操作,以使用json.Marshal转换为JSON字符串。如果interface{}后面的实际运行时类型可以编组为JSON,则json.Marshal可以自行解决。

b, _ := json.Marshal(m)
fmt.Println(string(b))