packer-cn/vendor/github.com/json-iterator/go
Adrien Delorme ed091163be
HCL2 Parse packer.required_plugins block + packer init (#10304)
This adds the new `required_plugins` block to be nested under the packer block.

Example:
```hcl
packer {
  required_plugins {
    aws = {
      version = ">= 2.7.0"
      source = "azr/aws"
    }
    azure = ">= 2.7.0"
  }
}
```

For example on darwin_amd64 Packer will install those under :
* "${PACKER_HOME_DIR}/plugin/github.com/azr/amazon/packer-plugin-amazon_2.7.0_x5.0_darwin_amd64"
* "${PACKER_HOME_DIR}/plugin/github.com/hashicorp/azure/packer-plugin-azure_2.7.0_x5.0_darwin_amd64_x5"

+ docs
+ tests
2021-02-02 18:05:04 +01:00
..
.codecov.yml update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
.gitignore update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
.travis.yml update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
Gopkg.lock update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
Gopkg.toml update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
LICENSE update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
README.md HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
adapter.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
any.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_array.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_bool.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_float.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_int32.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_int64.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_invalid.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_nil.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_number.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_object.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_str.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
any_uint32.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
any_uint64.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
build.sh update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
config.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
fuzzy_mode_convert_table.md update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
go.mod HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
go.sum HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
iter.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
iter_array.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
iter_float.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
iter_int.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
iter_object.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
iter_skip.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
iter_skip_sloppy.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
iter_skip_strict.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
iter_str.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
jsoniter.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
pool.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
reflect.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
reflect_array.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
reflect_dynamic.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
reflect_extension.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
reflect_json_number.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
reflect_json_raw_message.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
reflect_map.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
reflect_marshaler.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
reflect_native.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
reflect_optional.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
reflect_slice.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
reflect_struct_decoder.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
reflect_struct_encoder.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
stream.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
stream_float.go HCL2 Parse packer.required_plugins block + packer init (#10304) 2021-02-02 18:05:04 +01:00
stream_int.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
stream_str.go update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00
test.sh update alicloud builder to use official SDK (#7477) 2019-04-26 10:37:49 +08:00

README.md

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

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