关于go:go-读取-json-文件

一、介绍

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理