在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中文網其他相關文章!