Go读取json配置文件
Go语言内置的json为我们提供了读取json的方式,通过
例如如下
例如我在访问该
尽管我们可以通过手写一个
如何使用gojsonconfig这个包来创建并读取json文件内容?
生成存储Json文件的struct
- 首先你的go项目应该是使用
go mod 进行管理。 - 使用命令
go mod -u "https://github.com/Pivot-Studio/gojsonconfig" 获取该包。 - 你可以使用
gojsonconfig -v 来检查是否成功安装,如果成功安装,则会显示如下内容:1
2$ gojsonconfig -v
v0.1 - 在成功安装后,我们准备为你的项目生成结构体。在生成结构体时,你的项目需要满足如下条件:
- 当前路径下拥有一个
config.json 文件,该包将根据此json文件进行生成。 - 当前路径下拥有一个
models 的文件夹,该包会将该生成的文件存储在models 文件夹中去。注意该包并不会为你自动创建models 文件夹,所以请手动创建。
总之,生成之前,你的文件结构应该是这样的:
1
2
3
4$-->cmd中你现在的位置
|__config,json
|__models(这是一个文件夹)
|__(这里生成之前没有内容,即models是一个空文件夹) - 当前路径下拥有一个
- 在确保上一步无误后,执行命令
gojsonconfig -g ,此时在models 文件夹中会新生成一个文件Config_gen.go 。
例如现在config.json 内容如下:1
2
3
4
5
6
7
8
9{<!-- -->
"DbSettings": {<!-- -->
"host": "127.0.0.1",
"port": 3306,
"password":"123456",
"dbname":"Demo"
},
"AesKey": "Here store a aes key"
}你的项目结构如下:
然后在命令行中输入gojsonconfig -g 命令,执行后我们发现现在在models 文件夹中有一个go文件:
打开Config_gen.go 文件,内容如下:1
2
3
4
5
6
7
8
9
10
11
12package models
type Dbsettings struct{<!-- -->
Host string
Port float64
Password string
Dbname string
}
type Config struct{<!-- -->
AesKey string
Dbsettings Dbsettings
}这样存储json内容的
struct 就生成完毕。
读取struct并使用生成的结构体存储内容
你可以使用如下函数,对json文件进行读取。
你可以通过调用如下函数获取到之前针对json文件生成的实例了:
然后你就可以使用结构体实例(在上面的代码中为
<iframex id="Fu6gNmdR-1607533979773" src="//i2.wp.com/player.bilibili.com/player.html?aid=798068244" allowfullscreen="true" data-mediaembed="bilibili"></iframex>
Go语言读取Json配置文件