json 是现在非常常见的数据传递方式, go本身也集成了json的生成和解析
引入包
import {
"bytes"
"encoding/json"
}
解析
-
定义
json
对应的实体类, 准确的说是结构体type GoAccessToken struct { AccessToken string ExpiresIn int }
-
创建该结构体的引用
goAccessToken := &GoAccessToken{}
-
通过
Unmarshal
去解析json
字符串err := json.Unmarshal(str, goAccessToken) 最终的 goAcessToken 为解析后的对象
如果发现对象中的成员变量没有值, 请检查成员变量的首字母是否大写, 注意, json 字符串的键值是不区分大小写的, 只有首字母大写的成员变量, 才会被解析出值
生成JSON
-
定义
json
对应的实体类, 准确的说是结构体type GoAccessToken struct { AccessToken string ExpiresIn int }
-
创建该结构体的引用, 并赋值
goAccessToken := &GoAccessToken{ "这是token值", 7200, }
-
通过
Marshal
去生成json
字符串str, err := json.Marshal(goAccessToken) str 即为生成的 json 字符串
成员变量的首字母必须大写, 否则该变量不会生成在json字符串中
有疑问加站长微信联系(非本文作者)