1
0
mirror of https://github.com/json-iterator/go.git synced 2025-02-19 19:59:49 +02:00
Tao Wen 71ac16282d
Merge pull request #635 from molon/fix-tests
encoding/json: Compatibility optimization
2022-09-16 07:37:16 +08:00
2017-11-30 10:42:24 +08:00
2017-09-07 17:12:42 +02:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2020-03-26 18:17:29 +08:00
2018-02-19 23:04:25 +08:00
2018-02-19 23:04:25 +08:00
2018-10-24 21:05:37 +08:00
2017-11-30 10:42:24 +08:00
2020-01-14 14:14:02 +08:00
2019-01-10 17:51:25 +01:00
2018-07-01 13:05:25 +08:00
2018-07-01 13:05:25 +08:00
2019-10-08 11:17:01 -04:00
2020-11-17 17:37:55 +08:00
2020-11-17 17:37:55 +08:00
2018-02-19 23:04:25 +08:00
2019-10-08 11:17:01 -04:00
2018-02-19 23:04:25 +08:00
2017-07-09 16:09:23 +08:00
2016-11-30 08:30:24 +08:00
2018-04-07 21:40:08 +10:00
2021-09-11 10:17:26 +08:00
2020-03-26 14:46:47 +08:00
2020-07-21 17:07:23 +08:00
2020-11-13 15:58:42 +08:00
2018-02-24 22:04:41 +08:00
2018-02-19 23:04:25 +08:00
2018-02-14 14:06:32 +08:00

Sourcegraph GoDoc Build Status codecov rcard License Gitter chat

A high-performance 100% compatible drop-in replacement of "encoding/json"

Benchmark

benchmark

Source code: https://github.com/json-iterator/go-benchmark/blob/master/src/github.com/json-iterator/go-benchmark/benchmark_medium_payload_test.go

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

import "encoding/json"
json.Marshal(&data)

with

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Marshal(&data)

Replace

import "encoding/json"
json.Unmarshal(input, &data)

with

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Unmarshal(input, &data)

More documentation

How to get

go get github.com/json-iterator/go

Contribution Welcomed !

Contributors

Report issue or pull request, or email taowen@gmail.com, or Gitter chat

Description
Languages
Go 99.9%
Shell 0.1%