Вы можете использовать что-то вроде 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 с json.Marshal
.Если фактический тип времени выполнения вашего interface{}
способен маршалировать до JSON, json.Marshal
выяснит это самостоятельно.
b, _ := json.Marshal(m)
fmt.Println(string(b))