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