компилируется...
Перейти к основному содержанию
Рекомендовать во Вконтакте Рекомендовать в Фейсбуке Рекомендовать в Твиттере

JSON конфиги в Golang

import "encoding/json"

Создадим древовидный JSON файл.

{
   "applications": [
       {
           "name": "app1",
           "db": {
              "host": "db2",
              "user": "root",
              "pass": "",
              "dbname": "test"
           }
       },
       {
           "name": "app2",
           "db": {
              "host": "db2",
              "user": "root",
              "pass": "",
              "dbname": "test"
           }
       }
    ]
}

Опишем структуру. Обращу внимание, что имена свойств нужно писать с большой буквы.

type Config struct {
    Applications []Application
}

type Application struct {
    Name string
    Db   Db
}

type Db struct {
    Host   string
    User   string
    Pass   string
    Dbname string
}

А теперь экспортируем JSON в Го.

file, _ := os.Open("PATHTOYOURFILE")
decoder := json.NewDecoder(file)
config := new(Config)
err := decoder.Decode(&config)
if err != nil {
    // handle it
}

В переменной config у нас будут наши данные. Как теперь получить что-нибудь?

config.Applications[0].Db.Host

Не забываем подключить os package, чтобы прочитать файл, вы можете обойтись без него, если читаете JSON не из файла.

Комментарии

Пока что нет комментариев, ты можешь быть первым.
Войти или Регистрация , чтобы оставлять комментарии.
Наш сайт использует куки. Узнайте больше о нашем использовании куки: политика в отношении файлов cookie
Наш сайт существует только благодаря показу онлайн-рекламы нашим посетителям.
Пожалуйста, поддержите нас, отключив блокировку рекламы.