- 先安装easyjson
go get -u github.com/mailru/easyjson/
- 在结构体上加//easyjson:json的注解
//easyjson:json
type School struct {
Name string `json:"name"`
Addr string `json:"addr"`
}
//easyjson:json
type Student struct {
Id int `json:"id"`
Name string `json:"s_name"`
School School `json:"s_chool"`
Birthday time.Time `json:"birthday"`
}
- 执行命令生成easyjson文件
easyjson -all student.go // 生成easyjson_student.go,为结构体增加了MarshalJSON、UnmarshalJSON方法
- 使用示例
package main
import (
"studygo/easyjson"
"time"
"fmt"
)
func main(){
s:=easyjson.Student{
Id: 11,
Name:"qq",
School:easyjson.School{
Name:"CUMT",
Addr:"xz",
},
Birthday:time.Now(),
}
bt,err:=s.MarshalJSON() // MarshalJSON
fmt.Println(string(bt),err)
json:=`{"id":11,"s_name":"qq","s_chool":{"name":"CUMT","addr":"xz"},"birthday":"2017-08-04T20:58:07.9894603+08:00"}`
ss:=easyjson.Student{}
ss.UnmarshalJSON([]byte(json)) // UnmarshalJSON
fmt.Println(ss)
}
文章来源地址https://www.toymoban.com/news/detail-683568.html
文章来源:https://www.toymoban.com/news/detail-683568.html
到了这里,关于go: 高性能json工具 easyjson 简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!