在Go 中解組字串編碼的整數
當嘗試將帶有字串值的JSON 解組到整數段時,可能會遇到錯誤:「json:無法將字串解組為int64 類型的Go 值。」這是因為預設情況下JSON 解組假定數字類型(例如int64)應包含數字字元。
問題:
定義 int64 字段的 Go 結構體正在接收帶有相應字段的 JSON字段編碼為字串。資料類型不符會導致解組過程失敗。
解決方案:
建議的解決方案是在整數欄位的 json 結構標記中使用「,string」標記。這指示解組過程接受字串型別的值:
type tySurvey struct { Id int64 `json:"id,string,omitempty"` Name string `json:"name,omitempty"` }
實作:
透過修改後的結構,有編碼為字串的 id 欄位的 JSON 資料現在可以成功解組為 tySurvey 類型的 Go 物件。
注意:
請務必記住,在標記中指定 omitempty 將不允許對空字串進行解碼。 omitempty 專門用於編碼目的。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3