使用encoding包中json文件中的marshal和unmarshal函数来序列化和反序列化即可。举例:
var jsonStr string= "{xxxx}"var user *User
err = json.Unmarshal([]byte(jsonStr), user)
if err != nil {
fmt.Println("反序列化出错,info:", err)
}else{
fmt.Println("用户名:%s",user.UserName)
}
一、JSON解析到结构体
在介绍这部分之前先简要介绍一下Json语法
JSON 语法是 JavaScript 语法的子集。JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组
1.JSON名称/值对
2.JSON值
可以是:
JSON数据
JSON 数字可以是整型或者浮点型
JSON对象
JSON 对象在大括号({})中书写:
对象可以包含多个名称/值对:
JSON数组
JSON 数组在中括号中书写:
数组可包含多个对象:
JSON布尔值
二、JSON转map
输出结果:
三、生成JSON
本文来自php中文网的 golang教程 栏目: https://www.php.cn/be/go/