golang json编码为空地图返回{}

时间:2015-07-30 02:55:45

标签: json go

我正试图让我真正回到这样的事情: {"map": {}}不是{"map":null},但编码/ json似乎检测到这是一个空映射,只返回后一个值。

type test struct {
    MyMap map[string]string `json:"map"`
}

func main() {
    testval := test{}
    asjson, err := json.Marshal(testval)
    fmt.Println(testval)
    fmt.Println(string(asjson))
}

输出就像这样

{map[]}
{"map":null}

我希望得到{"map":{}}建议吗?我试图手动初始化地图,并使用它的参考。似乎都没有产生我想要的输出。 :/

1 个答案:

答案 0 :(得分:9)

myvar = "'''{}'''".format(mylist) 尚未初始化,因此为test.MyMap。初始化它将为您提供所需的结果:

nil

https://play.golang.org/p/91vZtJeot3