首頁 > 後端開發 > Golang > 為什麼我的 Go 結構體欄位在解析 JSON 時為空?

為什麼我的 Go 結構體欄位在解析 JSON 時為空?

Barbara Streisand
發布: 2024-11-12 10:27:02
原創
857 人瀏覽過

Why are my Go struct fields empty when parsing JSON?

在Go 中將JSON 解析為結構

嘗試將JSON 解析為Go 結構時,遇到意外輸出:空結構值與一個錯誤的布林值。預設情況下,必須匯出結構體欄位(以大寫字母開頭)才能被編碼器/解碼器識別。這是程式碼的修訂版本:

// Define your struct with exported fields
type Settings struct {
    ServerMode bool `json:"serverMode"`
    SourceDir  string `json:"sourceDir"`
    TargetDir  string `json:"targetDir"`
}

func main() {
    // Open the config file
    configFile, err := os.Open("config.json")
    if err != nil {
        printError("opening config file", err.Error())
    }

    jsonParser := json.NewDecoder(configFile)
    settings := Settings{} // Initialize the struct

    // Decode the JSON
    if err = jsonParser.Decode(&settings); err != nil {
        printError("parsing config file", err.Error())
    }

    fmt.Printf("%v %s %s", settings.ServerMode, settings.SourceDir, settings.TargetDir)
}
登入後複製

透過這些修改,編碼器/解碼器可以正確存取和修改結構體的字段,從而產生所需的解析值。

以上是為什麼我的 Go 結構體欄位在解析 JSON 時為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板