A high-performance 100% compatible drop-in replacement of "encoding/json"
A high-performance 100% compatible drop-in replacement of "encoding/json"
A high-performance 100% compatible drop-in replacement of "encoding/json" Benchmark
Raw Result (easyjson requires static code generation)
| ns/op | allocation bytes | allocation times | |
|---|---|---|---|
| std 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 |
| std 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 |
Always benchmark with your own workload. The result depends heavily on the data input. Usage
100% compatibility with standard lib
Replace
with
Replace
with
More documentation How to get Contribution Welcomed !
Contributors
Report issue or pull request, or email [email protected], or
jsoniter.Unmarshal incorrectly sets pre-initialized map[string]any to nil when input begins with letter "n"
Bug:Dead Loop Two when Two structs are mutually dependent。
Bug: jsoniter.UnmarshalFromString
Marshal failure with Go 1.24 rc and GOARCH=386
Flatten non embedded fields
Support omitzero tag
多个不同库的 RegisterTypeDecoderFunc 会覆盖?
support data type auto cast
error in `objectLazyAny.ToVal` is not reported
panic sometimes....