Sto cercando di configurare il mio programma di Go creando un file JSON e l'analisi in una struct:Come posso analizzare un file JSON in una struct con 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
}
Il file config.json:
{
"serverMode": true,
"sourceDir": ".",
"targetDir": "."
}
Il programma viene compilato ed eseguito senza errori, ma le uscite istruzione print:
false
(false e due stringa vuota s)
Ho anche provato con json.Unmarshal(..)
ma ho avuto lo stesso risultato.
Come analizzare il JSON in modo da riempire i valori della struttura?
Non dimenticare di chiudere il file. Ad esempio: 'defer configFile.Close()' dopo 'configFile, err: = os.Open (" config.json ")' – Kiril