1 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個贊
如果我正確理解你的問題,要使用標(biāo)簽 ( ) 的空切片獲得結(jié)果{"photo_id":"bmpuh3jg","tags":[]},你可以這樣做:
? jsonString := `{"photo_id":"bmpuh3jg","tags":null}`
? photo := &Photo{}
? err := json.Unmarshal([]byte(jsonString), &photo)
? if err != nil {
? ? ?fmt.Println(err.Error())
? }
? // Here is a trick. Replace nil with an empty slice.
? if photo.Tags == nil {
? ? photo.Tags = []string{}
? }
? elemJSON, err := json.Marshal(photo)
? if err != nil {
? ? fmt.Println(err.Error())
? }
? fmt.Println(string(elemJSON)) //{"photo_id":"bmpuh3jg","tags":[]}?
數(shù)組和切片值編碼為 JSON 數(shù)組,但 []byte 編碼為 Base64 編碼字符串,而 nil 切片編碼為空 JSON 值。
- 1 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報(bào)