sample-controller/vendor/github.com/json-iterator/go
Kubernetes Publisher 46b5d73382 Merge pull request #57142 from nikhita/bump-jsoniter
Automatic merge from submit-queue (batch tested with PRs 57122, 57142, 57016, 56927, 56678). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

bump(13f864): github.com/json-iterator/go: use ConfigCompatibleWithStandardLibrary

Jsoniter in `ConfigFastest` mode does not support escape characters in object keys, whereas `ConfigCompatibleWithStandardLibrary` does.

Fixes kubernetes/kubernetes#56018
Related kubernetes/kubernetes#56055

Benchmark results:

```
BenchmarkDecodeIntoJSON-4                                              	   30000	     48522 ns/op	    3792 B/op	      63 allocs/op
BenchmarkDecodeIntoJSONCodecGenConfigFast-4                            	  100000	     17409 ns/op	    4524 B/op	      96 allocs/op
BenchmarkDecodeIntoJSONCodecGenConfigCompatibleWithStandardLibrary-4   	  100000	     18617 ns/op	    4924 B/op	     121 allocs/op
```

/assign sttts thockin mfojtik

Kubernetes-commit: 135d58b3941fac99ae0426e18cbda266b83ca49e
2017-12-17 08:06:20 +00:00
..
.codecov.yml Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
.gitignore Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
.travis.yml Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
build.sh Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_adapter.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_any_array.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_bool.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_float.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_int32.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_int64.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_invalid.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_nil.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_number.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_object.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_string.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_uint32.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any_uint64.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_any.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_config.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter_array.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter_float.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_iter_int.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter_object.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter_skip_sloppy.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter_skip_strict.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter_skip.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter_string.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_iter.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_json_number.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_pool.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_reflect_array.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_reflect_extension.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_reflect_map.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_reflect_native.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_reflect_object.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_reflect_slice.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_reflect_struct_decoder.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_reflect.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
feature_stream_float.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_stream_int.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_stream_string.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
feature_stream.go Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
fuzzy_mode_convert_table.md Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
Gopkg.lock Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
Gopkg.toml Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
jsoniter.go Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
LICENSE Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00
README.md Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
test.sh Merge pull request #52753 from munnerz/sample-controller 2017-10-26 12:35:59 +00:00

Sourcegraph GoDoc Build Status codecov rcard License Gitter chat

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

Go开发者们请加入我们滴滴出行平台技术部 taowen@didichuxing.com

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

Usage

100% compatibility with standard lib

Replace

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

with

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

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

Replace

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

with

import "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