第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何將空字符串解組為 nil

如何將空字符串解組為 nil

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

1 回答

?
搖曳的薔薇

TA貢獻1793條經(jīng)驗 獲得超6個贊

實現(xiàn)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類型是從另一個包導入的,您可以創(chuàng)建一個包裝該類型的新類型:


// 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 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號