sample-controller/vendor/github.com/json-iterator/go
Kubernetes Publisher c4b5a29669 Merge pull request #65034 from caesarxuchao/json-case-sensitive
Automatic merge from submit-queue. 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>.

Make kubernetes json serializer case sensitive

This PR imported the latest jsoniterator library so that case sensitivity during unmarhsaling is optional. The PR also set Kubernetes json serializer to be case sensitive.

Kubernetes json serializer had been case sensitive for 1.1-1.7 as we were using ugorji. This PR restores the behavior.

Fix #64612.

```release-notes
Kubernetes json deserializer is now case-sensitive as it was before 1.8.
If your config files contains fields with wrong case, the config files will be now invalid.
```

Kubernetes-commit: a2de1398f829ef38d645579160bdd6bfec8384d3
2018-06-15 00:25:19 +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
adapter.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_array.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_bool.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_float.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_int32.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_int64.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_invalid.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_nil.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_number.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_object.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_str.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_uint32.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any_uint64.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
any.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
build.sh Merge pull request #57142 from nikhita/bump-jsoniter 2017-12-17 08:06:20 +00:00
config.go Merge pull request #65034 from caesarxuchao/json-case-sensitive 2018-06-15 00:25:19 +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 #65034 from caesarxuchao/json-case-sensitive 2018-06-15 00:25:19 +00:00
Gopkg.toml Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter_array.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter_float.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter_int.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter_object.go Merge pull request #65034 from caesarxuchao/json-case-sensitive 2018-06-15 00:25:19 +00:00
iter_skip_sloppy.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter_skip_strict.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter_skip.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter_str.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
iter.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +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
pool.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
README.md Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_array.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_dynamic.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_extension.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_json_number.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_json_raw_message.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_map.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_marshaler.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_native.go Merge pull request #65034 from caesarxuchao/json-case-sensitive 2018-06-15 00:25:19 +00:00
reflect_optional.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_slice.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect_struct_decoder.go Merge pull request #65034 from caesarxuchao/json-case-sensitive 2018-06-15 00:25:19 +00:00
reflect_struct_encoder.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
reflect.go Merge pull request #65034 from caesarxuchao/json-case-sensitive 2018-06-15 00:25:19 +00:00
stream_float.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
stream_int.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
stream_str.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
stream.go Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00
test.sh Merge pull request #63059 from ceshihao/upgrade_json_package_fix_base64_newline 2018-04-26 07:24:17 +00:00

Sourcegraph GoDoc Build Status codecov rcard License Gitter chat

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

You can also use thrift like JSON using thrift-iterator

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

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