41

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": "."
}

プログラムはエラーなしでコンパイルおよび実行されますが、print ステートメントの出力は次のとおりです。

false  

(false および 2 つの空の文字列)

私も試してみましjson.Unmarshal(..)たが、同じ結果が得られました。

構造体の値を埋める方法で JSON を解析するにはどうすればよいですか?

4

1 に答える 1