一、介绍
json的全称是JavaScript Object Notation。是js用来标记对象。
由于通俗易懂,目前json格式被广泛用在存储以及传输中。
json是一种简单的 kv结构。key用字符串表示,并且字符串用双引号表示。
如:
{
"users": [
{
"name": "hi",
"age": 1
},
{
"name": "fff",
"age": 2
}
],
"redis": {
"base": {
"addr": "test.redis.com:6379",
"password": "pwd",
"db": "1"
}
}
}
把上面的结构存储到redis.json中,下面我们用go写代码读取。
二、go读取json文件
2.1 我们先写一个结构体来接收 yaml文件
type JsonFile struct {
Users []struct {
Name string
Age int
}
Redis struct {
Base struct {
Addr string
Password string
Db string
}
}
}
在这个 JsonFile 结构体里面,我们定义的字段需要和上面的json文件一一对应。
2.2 我们再使用encoding/json库来解析读取的json文件。
我们使用官方的 encoding/json 作为读取json文件的库。
func TestJsonRead(t *testing.T) {
// 1读取文件
data, err := ioutil.ReadFile("redis.json")
if err != nil {
t.Log(err)
}
t.Log(string(data))
// 2解析文件
var y JsonFile
err = json.Unmarshal(data, &y)
t.Log(y, err)
}
输出:
{[{hi 1} {fff 2}] {{test.redis.com:6379 pwd 1}}} <nil>
读取成功。
更方便的在微信公众号阅读文章可以关注公众号:海生的go花园
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。