靈活布林值的JSON 解組
處理不一致地將布林值表示為0/1 和false/true 的JSON 資料來源時,標準的encoding/json套件可能無法為解析提供足夠的彈性。為了解決這個問題,我們可以實作一個自訂的 UnmarshalJSON 方法來擴展可接受的布林格式。
在提供的範例中,我們定義了一個名為 MyType 的結構體,其中包含兩個布林欄位:AsBoolean 和 AlsoBoolean。對應的 JSON 輸入包含對應欄位的值「true」和「1」。
為了將 0 和 false 解組為布林值,我們建立一個新型別 ConvertibleBoolean 並實作其 UnmarshalJSON 方法。在該方法中,我們檢查輸入資料作為字串,並根據以下條件確定相應的布林值:
透過自訂 UnmarshalJSON 方法,我們可以擴展預設的 JSON 解組行為並適應輸入 JSON 資料中的非標準布林表示。這種方法允許我們將 JSON 輸入解組為預期的布林值並相應地填入 MyType 結構。
以上是如何在 Go 中從 JSON 解組靈活的布林值(0/1 和 true/false)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!