一、介绍
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 花园