簡體   English   中英

golang json編碼返回{}以獲得空地圖

[英]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),
}

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM