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