函数调用
jsonStu, err := json.Marshal(stu)
背景
Json(Javascript Object Nanotation)是一种数据交换格式,常用于前后端数据传输。任意一端将数据转换成json 字符串,另一端再将该字符串解析成相应的数据结构,如string类型,strcut对象等。
函数作用
将数据编码成json字符串格式
demo
package main
import (
"encoding/json"
"fmt"
)
// 结构体转变为json数据
type Stu struct {
Name string `json:"name"`
Age int `json:"年龄"`
HIgh bool
Sex string
Class *Class `json:"班级"`
}
type Class struct {
Name string
Grade int
}
func main() {
//实例化一个数据结构,用于生成json字符串
stu := Stu{
Name: "张三",
Age: 18,
HIgh: true,
Sex: "男",
}
//指针变量 申请指针变量
cla := new(Class)
cla.Name = "1班"
cla.Grade = 3
stu.Class=cla
//Marshal失败时err!=nil
jsonStu, err := json.Marshal(stu)
if err != nil {
fmt.Println("生成json字符串错误")
}
//jsonStu是[]byte类型,转化成string类型便于查看
fmt.Println(string(jsonStu))
}
- 其中转化过程中默认key为变量名,如果后面有json标注,即为后面的部分。
- 注意转化必须变量首字母必须大写(可导出)