JSONjson-iterator/goencoding/json
基准测试
测试结果(easyjson需要静态代码生成)
ns/op | 分配字节 | 分配时间 | |
---|---|---|---|
标准库 decode | 35510 ns/op | 1960 B/op | 99 allocs/op |
easyjson decode | 8499 ns/op | 160 B/op | 4 allocs/op |
jsoniter decode | 5623 ns/op | 160 B/op | 3 allocs/op |
标准库 encode | 2213 ns/op | 712 B/op | 5 allocs/op |
easyjson encode | 883 ns/op | 576 B/op | 3 allocs/op |
jsoniter encode | 837 ns/op | 384 B/op | 4 allocs/op |
ns/op分配字节分配时间
使用方法
encoding/json
2.1 encode 替换方法
import "encoding/json"
json.Marshal(&data)
替换为:
import jsoniter "github.com/json-iterator/go"
var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Marshal(&data)
2.1 decode 替换方法
import "encoding/json"
json.Unmarshal(input, &data)
替换为:
import jsoniter "github.com/json-iterator/go"
var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Unmarshal(input, &data)
如何安装
go get github.com/json-iterator/go