Ich versuche, mein Go-Programm zu konfigurieren, indem Sie eine JSON-Datei erstellen und sie in eine Struktur Parsen eine JSON-Datei in eine Struktur mit Go Parse:Wie kann ich
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
}
Die config.json Datei:
{
"serverMode": true,
"sourceDir": ".",
"targetDir": "."
}
Das Programm kompiliert und läuft ohne Fehler, aber die print-Anweisung gibt:
false
(falsch und zwei leere Zeichenfolge s)
Ich habe auch mit json.Unmarshal(..)
versucht, hatte aber das gleiche Ergebnis.
Wie analysiere ich den JSON in einer Weise, die die Strukturwerte füllt?
Vergessen Sie nicht, die Datei zu schließen. Zum Beispiel: 'defer configFile.Close()' nach 'configFile, err: = os.Open (" config.json ")' – Kiril