一、介绍

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花园