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) }
이러한 수정을 통해 인코더/디코더는 구조체의 필드에 적절하게 액세스하고 수정할 수 있어 원하는 구문 분석 값을 얻을 수 있습니다.
위 내용은 JSON을 구문 분석할 때 Go 구조체 필드가 비어 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!