>  기사  >  백엔드 개발  >  JSON을 구문 분석할 때 Go 구조체가 올바르게 채워지지 않는 이유는 무엇입니까?

JSON을 구문 분석할 때 Go 구조체가 올바르게 채워지지 않는 이유는 무엇입니까?

DDD
DDD원래의
2024-11-16 04:48:03751검색

Why Is My Go Struct Not Populating Correctly When Parsing JSON?

JSON을 Go 구조체로 구문 분석: 문제 발견

JSON을 사용하여 Go 프로그램을 구성하려고 할 때 다음과 같은 장애물이 발생했습니다. 구문 분석된 구조체가 올바르게 채워지지 않았습니다. 이 문제에 대해 자세히 알아보고 해결책을 제시해 보겠습니다.

제공된 코드는 JSON 파일을 구조체로 구문 분석하는 것을 목표로 하지만 실행 시 잘못된 값을 인쇄합니다. 근본 원인은 구조체 정의 자체에 있습니다. Go에서는 JSON 인코더 및 디코더에 액세스할 수 있도록 구조체 필드를 내보내야 합니다. 이는 필드 이름이 대문자로 시작해야 함을 의미합니다.

문제를 해결하는 방법은 다음과 같습니다.

type Settings struct {
    ServerMode bool `json:"serverMode"`
    SourceDir  string `json:"sourceDir"`
    TargetDir  string `json:"targetDir"`
}

이제 필드 이름(ServerMode, SourceDir, TargetDir)이 대문자로 시작됩니다. letter.

수정된 코드는 JSON 파일을 성공적으로 구문 분석하고 구조체를 올바른 값으로 채웁니다.

위 내용은 JSON을 구문 분석할 때 Go 구조체가 올바르게 채워지지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.