README.md (2933B)
1 [![Sourcegraph](https://sourcegraph.com/github.com/json-iterator/go/-/badge.svg)](https://sourcegraph.com/github.com/json-iterator/go?badge) 2 [![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/json-iterator/go) 3 [![Build Status](https://travis-ci.org/json-iterator/go.svg?branch=master)](https://travis-ci.org/json-iterator/go) 4 [![codecov](https://codecov.io/gh/json-iterator/go/branch/master/graph/badge.svg)](https://codecov.io/gh/json-iterator/go) 5 [![rcard](https://goreportcard.com/badge/github.com/json-iterator/go)](https://goreportcard.com/report/github.com/json-iterator/go) 6 [![License](http://img.shields.io/badge/license-mit-blue.svg?style=flat-square)](https://raw.githubusercontent.com/json-iterator/go/master/LICENSE) 7 [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/json-iterator/Lobby) 8 9 A high-performance 100% compatible drop-in replacement of "encoding/json" 10 11 # Benchmark 12 13 ![benchmark](http://jsoniter.com/benchmarks/go-benchmark.png) 14 15 Source code: https://github.com/json-iterator/go-benchmark/blob/master/src/github.com/json-iterator/go-benchmark/benchmark_medium_payload_test.go 16 17 Raw Result (easyjson requires static code generation) 18 19 | | ns/op | allocation bytes | allocation times | 20 | --------------- | ----------- | ---------------- | ---------------- | 21 | std decode | 35510 ns/op | 1960 B/op | 99 allocs/op | 22 | easyjson decode | 8499 ns/op | 160 B/op | 4 allocs/op | 23 | jsoniter decode | 5623 ns/op | 160 B/op | 3 allocs/op | 24 | std encode | 2213 ns/op | 712 B/op | 5 allocs/op | 25 | easyjson encode | 883 ns/op | 576 B/op | 3 allocs/op | 26 | jsoniter encode | 837 ns/op | 384 B/op | 4 allocs/op | 27 28 Always benchmark with your own workload. 29 The result depends heavily on the data input. 30 31 # Usage 32 33 100% compatibility with standard lib 34 35 Replace 36 37 ```go 38 import "encoding/json" 39 json.Marshal(&data) 40 ``` 41 42 with 43 44 ```go 45 import jsoniter "github.com/json-iterator/go" 46 47 var json = jsoniter.ConfigCompatibleWithStandardLibrary 48 json.Marshal(&data) 49 ``` 50 51 Replace 52 53 ```go 54 import "encoding/json" 55 json.Unmarshal(input, &data) 56 ``` 57 58 with 59 60 ```go 61 import jsoniter "github.com/json-iterator/go" 62 63 var json = jsoniter.ConfigCompatibleWithStandardLibrary 64 json.Unmarshal(input, &data) 65 ``` 66 67 [More documentation](http://jsoniter.com/migrate-from-go-std.html) 68 69 # How to get 70 71 ``` 72 go get github.com/json-iterator/go 73 ``` 74 75 # Contribution Welcomed ! 76 77 Contributors 78 79 - [thockin](https://github.com/thockin) 80 - [mattn](https://github.com/mattn) 81 - [cch123](https://github.com/cch123) 82 - [Oleg Shaldybin](https://github.com/olegshaldybin) 83 - [Jason Toffaletti](https://github.com/toffaletti) 84 85 Report issue or pull request, or email taowen@gmail.com, or [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/json-iterator/Lobby)