[英]golang json encoding return {} for an empty map
我正在嘗試實際返回以下內容: {"map": {}}
不是{"map":null}
但是encoding / 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":{}}
建議? 我試圖手動初始化地圖,並為其使用引用。 似乎都沒有產生我想要的輸出。 :/
test.MyMap
尚未初始化,因此為nil
。 初始化它會給您想要的結果:
testval := test{
MyMap: make(map[string]string),
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.