interfacejson.config.json
{
"DbSettings": {
"host": "127.0.0.1",
"port": 3306,
"password":"123456",
"dbname":"Demo"
},
"AesKey": "Here store a aes key"
}
DbSettings.dbnameConfigconf.Dbsettings.Dbnamestructstructstruct
如何使用这个包来创建并读取json文件内容?
生成存储Json文件的struct
$ gojsonconfig -v
v0.1
$-->cmd中你现在的位置
|__config,json
|__models(这是一个文件夹)
|__(这里生成之前没有内容,即models是一个空文件夹)
{
"DbSettings": {
"host": "127.0.0.1",
"port": 3306,
"password":"123456",
"dbname":"Demo"
},
"AesKey": "Here store a aes key"
}
package models
type Dbsettings struct{
Host string
Port float64
Password string
Dbname string
}
type Config struct{
AesKey string
Dbsettings Dbsettings
}
读取struct并使用生成的结构体存储内容
你可以使用如下函数,对json文件进行读取。
你可以通过调用如下函数获取到之前针对json文件生成的实例了:
func main(){
conf:=ReadSettingsFromFile("config.json")
fmt.Println(config.DbSettings.Password)
}
func ReadSettingsFromFile(settingFilePath string)(config models.Config){
jsonFile, err := os.Open(settingFilePath)
if err != nil {
fmt.Println(err)
}
defer jsonFile.Close()
byteValue, _ := ioutil.ReadAll(jsonFile)
err = json.Unmarshal(byteValue, &config)
if err != nil {
log.Panic(err)
}
return config
}
conf.