easyjson
背景:
目前后端与前端交互大部分使用的json格式。如果使用go语言自带的json库,使用的是反射,而go语言中反射性能较低。easyjson就是一个比较好的解决方案。
安装easyjson
在cmd中输入go get -u github.com/mailru/easyjson/...
安装完毕后,GOPATH里就有easyjson.exe
使用easyjson
创建一个model文件
package model
type Student struct{
Name string `json:"name"`
Age int `json:"age"`
}
保存文件后,cmd中输入
easyjson -all C:\Users\Galen\Desktop\benchmark\Student.go(model文件路径)
运行完后,该文件夹中有一个Student_easyjson.go
,该文件中就是easyjson帮我们生成的MarshalJSON
和UnmarshalJSON
方法。
性能对比
使用Benchmark测试一下go语言自带的json方法与easyjson生成代码的性能。
package model
import(
json "encoding/json"
"testing"
)
var jso