OK. Итак, вот что я сделал на данный момент.
config / index.js теперь является config / config.json с содержимым
{
"app":{"port":9000},
"log":{"level":"error"}
}
и config / key_values.js - это config / key_values.json
{
"key1":"value1",
"key2":"value2"
}
И чтобы прочитать это значение, я просто читаю файл как []byte
и передаю его в function GetBytes
библиотеки gjson
Итак, окончательный код выглядит следующим образом:
configFile, err := os.Open("config/config.json")
byteValue, _ := ioutil.ReadAll(configFile)
result := gjson.GetBytes(byteValue, "app.port")
fmt.Println(result) //prints 9000
И то же самое для файла значений ключей.
configFile, err := os.Open("config/key_values.json")
byteValue, _ := ioutil.ReadAll(configFile)
result := gjson.GetBytes(byteValue, "key1")
fmt.Println(result) //prints value1
Также попытался использовать struct перед синтаксическим анализом конфигурации, как описано здесь . Но, похоже, я искал эту библиотеку gjson.