go json包 json、json-iterator、gjson、easyjson使用
区别:
- json 是go自带的json编码与解码包。
- json-iterator是目前github上star最多的json编码与解码包。效率高。并且可以通过简单的代码替换官方json方法。
- gjson则用来进行json解码,或者从json中获取数据。没有编码方法
- easyjson则通过预先生成编码与解码方法,避免反射来提高效率。但暂时没有发现对列表的支持。而且以前测试过,暂时不测了。
版本:
go | json-iterator | gjson |
---|---|---|
go1.13.5 | v1.1.9 | v1.6.0 |
测试编码:
modles.go
type Student struct {
Name string `json:"name"`
Age int8 `json:"age"`
}
type Animal struct {
Name string `json:"Name"`
Order string `json:"Order"`
}
unmarshal_test.go
package jsoniter
import (
"encoding/json"
"fmt"
jsoniter "git