项目中需要使用json格式进行传输,json的序列化与反序列化
go的json解析需要使用encoding/json包
序列化,也就是由结构体转化为json string字符串。使用json.Marshal函数。
反序列化,就是将json string字符串转化为结构体。使用函数json.Unmarshal函数完成。
package main
import (
"encoding/json"
"fmt"
)
// 如果`json:"code"`去掉.会以字段名称为解析内容
type Result struct {
Code int `json:"code"`
Message string `json:"msg"`
}
func main() {
var res Result
res.Code = 200
res.Message = "success"
//序列化
jsons, errs := json.Marshal(res)
if errs != nil {
fmt.Println("json marshal error:", errs)
}
fmt.Println("json data :", string(jsons))
//反序列化
var res2 Result
errs = json.Unmarshal(jsons, &res2)
if errs != nil {
fmt.Println("json unmarshal error:", errs)
}
fmt.Println("res2 code:", res2.Code)
fmt.Println("res2 msg:", res2.Message)
}
运行结果如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)