亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將空字符串解組為 nil

如何將空字符串解組為 nil

Go
慕村9548890 2023-07-26 19:33:32
如果我有一些像這樣的 JSON 數據:{   nullableID: ""   }我怎樣才能解組這個結構:help := struct {   ID *primitive.ObjectID `json:"nullableID",omitempty`   }{}解碼為help這樣help.ID == nil
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

實現ObjectID接口Unmarshaler并檢查空字符串:


func (o *ObjectID) UnmarshalJSON(data []byte) error {

? if err := json.Unmarshal(data, o); err != nil {

? ? return err

? }

? if string(*o) == "" {

? ? o = nil

? }

? return nil

}

如果該ObjectID類型是從另一個包導入的,您可以創建一個包裝該類型的新類型:


// objID is a copy of primitive.ObjectID but with it's own json unmarshalling.

type objID struct {

? *primitive.ObjectID

}


func (o *objID) UnmarshalJSON(data []byte) error {

? // Same implementation as above

}



查看完整回答
反對 回復 2023-07-26
  • 1 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號