Here您可以看到以下代码:
package main
import (
"fmt"
"encoding/json"
)
func main() {
map1 := map[string]map[string]interface{}{}
map2 := map[string]interface{}{}
map2["map2item"] = "map2item"
map1["map2"] = map2
fmt.Println(string(json.Marshal(map1)))
}这将返回以下错误:
tmp/sandbox100532722/main.go:13:33: multiple-value json.Marshal() in single-value context.我该如何解决这个问题?
发布于 2017-08-27 09:21:29
您尝试执行的字符串转换只需要一个参数,但json.Marshal函数返回两个参数([]byte和error)。您需要存储第一个返回值,然后执行转换:
package main
import (
"fmt"
"encoding/json"
)
func main() {
map1 := map[string]map[string]interface{}{}
map2 := map[string]interface{}{}
map2["map2item"] = "map2item"
map1["map2"] = map2
b, err := json.Marshal(map1)
if err != nil {
panic(err)
}
fmt.Println(string(b))
}https://stackoverflow.com/questions/45900911
复制相似问题