在Go 中處理部分JSON 解碼與更新
如果JSON 物件的結構是動態的,傳統的JSON 解組可能會導致由於欄位截斷而導致資料遺失。為了解決這個問題,請考慮將常規結構與 json.RawMessage 結合的解決方案,它允許選擇性更新,同時保留未知資訊。
Color 結構說明了這種方法:
在JSON 期間解組時,UnmarshalJSON 方法將整個資料讀取到原始資料中,並從原始資料中檢索所需的字段(例如,空格)(如果滿足)存在:
對於JSON 編組,MarshalJSON方法將所需欄位放回原始格式,確保更新的欄位包含在輸出中:
此方法允許選擇性欄位更新,同時保留其餘 JSON 數據,包括未知或動態結構。
以上是Go 如何有效率地處理部分 JSON 解碼與更新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!