Я пытаюсь настроить свою программу Go, создав файл JSON и проанализируя его в struct:
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
(ложные и две пустые строки)
Я также пробовал с json.Unmarshal(..)
, но имел тот же результат.
Как выполнить синтаксический анализ JSON таким образом, который заполняет значения struct?