반응형
Go를 사용하여 JSON 파일을 구조체로 해석하는 방법
JSON 파일을 만들고 이를 구조체로 구문 분석하여 Go 프로그램을 구성하려고 합니다.
var settings struct {
serverMode bool
sourceDir string
targetDir string
}
func main() {
// then config file settings
configFile, err := os.Open("config.json")
if err != nil {
printError("opening config file", err.Error())
}
jsonParser := json.NewDecoder(configFile)
if err = jsonParser.Decode(&settings); err != nil {
printError("parsing config file", err.Error())
}
fmt.Printf("%v %s %s", settings.serverMode, settings.sourceDir, settings.targetDir)
return
}
config.json 파일:
{
"serverMode": true,
"sourceDir": ".",
"targetDir": "."
}
프로그램은 오류 없이 컴파일 및 실행되지만 인쇄문은 다음과 같이 출력됩니다.
false
(false 및 빈 문자열 2개)
저도 한번 해봤어요json.Unmarshal(..)
같은 결과가 나왔습니다.
구조값을 채우는 방법으로 JSON을 해석하려면 어떻게 해야 하나요?
구조 요소를 내보내는 것이 아닙니다.모두 소문자로 시작합니다.
var settings struct {
ServerMode bool `json:"serverMode"`
SourceDir string `json:"sourceDir"`
TargetDir string `json:"targetDir"`
}
stuct 요소의 첫 번째 문자를 대문자로 작성하여 내보냅니다.JSON 인코더/디코더에서는 내보내지 않는 구조 요소는 사용되지 않습니다.
언급URL : https://stackoverflow.com/questions/16681003/how-do-i-parse-a-json-file-into-a-struct-with-go
반응형
'bestsource' 카테고리의 다른 글
mongo 쉘에서 mongo가 어떤 포트를 리슨하는지 어떻게 알 수 있나요? (0) | 2023.03.25 |
---|---|
Angular 내부의 기능JS 컨트롤러 (0) | 2023.03.25 |
AngularJS UI-Router : 파라미터를 사용하여 상태의 절대 URL을 가져옵니다. (0) | 2023.03.25 |
VS 코드는 강조된 항목을 포함하지만 오류가 없는 이유는 무엇입니까? (0) | 2023.03.20 |
MongoDB 현재 사용자 표시 (0) | 2023.03.20 |