mirror of
https://github.com/mudler/luet.git
synced 2025-07-12 06:38:16 +00:00
Instead of using gox on one side and an action to release, we can merge them together with goreleaser which will build for extra targets (arm, mips if needed in the future) and it also takes care of creating checksums, a source archive, and a changelog and creating a release with all the artifacts. All binaries should respect the old naming convention, so any scripts out there should still work. Signed-off-by: Itxaka <igarcia@suse.com>
88 lines
3.0 KiB
Markdown
88 lines
3.0 KiB
Markdown
[](https://sourcegraph.com/github.com/json-iterator/go?badge)
|
|
[](https://pkg.go.dev/github.com/json-iterator/go)
|
|
[](https://travis-ci.org/json-iterator/go)
|
|
[](https://codecov.io/gh/json-iterator/go)
|
|
[](https://goreportcard.com/report/github.com/json-iterator/go)
|
|
[](https://raw.githubusercontent.com/json-iterator/go/master/LICENSE)
|
|
[](https://gitter.im/json-iterator/Lobby)
|
|
|
|
A high-performance 100% compatible drop-in replacement of "encoding/json"
|
|
|
|
You can also use thrift like JSON using [thrift-iterator](https://github.com/thrift-iterator/go)
|
|
|
|
# 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
|
|
|
|
```go
|
|
import "encoding/json"
|
|
json.Marshal(&data)
|
|
```
|
|
|
|
with
|
|
|
|
```go
|
|
import jsoniter "github.com/json-iterator/go"
|
|
|
|
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
|
json.Marshal(&data)
|
|
```
|
|
|
|
Replace
|
|
|
|
```go
|
|
import "encoding/json"
|
|
json.Unmarshal(input, &data)
|
|
```
|
|
|
|
with
|
|
|
|
```go
|
|
import jsoniter "github.com/json-iterator/go"
|
|
|
|
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
|
json.Unmarshal(input, &data)
|
|
```
|
|
|
|
[More documentation](http://jsoniter.com/migrate-from-go-std.html)
|
|
|
|
# How to get
|
|
|
|
```
|
|
go get github.com/json-iterator/go
|
|
```
|
|
|
|
# Contribution Welcomed !
|
|
|
|
Contributors
|
|
|
|
- [thockin](https://github.com/thockin)
|
|
- [mattn](https://github.com/mattn)
|
|
- [cch123](https://github.com/cch123)
|
|
- [Oleg Shaldybin](https://github.com/olegshaldybin)
|
|
- [Jason Toffaletti](https://github.com/toffaletti)
|
|
|
|
Report issue or pull request, or email taowen@gmail.com, or [](https://gitter.im/json-iterator/Lobby)
|