將 JSON 解析為 Go 結構體
將 JSON 解析為 Go 結構體可以方便地存取結構化資料配置。雖然您提供的程式碼片段編譯時沒有錯誤,但無法使用正確的值填入結構體欄位。
解決問題
問題在於導出的狀態你的結構元素。在 Go 中,為了讓 JSON 套件在編碼/解碼期間可以存取結構體元素,它必須以大寫字母開頭。這確保了可以在包外存取該元素。
修正代碼
要解決此問題,您需要將每個結構體元素的第一個字母設為大寫。更正後的程式碼如下所示:
var settings struct { ServerMode bool `json:"serverMode"` SourceDir string `json:"sourceDir"` TargetDir string `json:"targetDir"` }
透過將結構元素名稱大寫,您實際上是在匯出它們,使它們可以用於 JSON 編碼和解碼。現在,當 JSON 解析器遇到 JSON 檔案中對應的欄位名稱時,它會正確地將解析後的值指派給結構體欄位。
預期輸出
製作後進行此更正後,您的程式現在應該列印 config.json 檔案中指定的正確設定值:
true . .
以上是為什麼我無法將 JSON 解析到我的 Go 結構中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!