clusterlint/vendor/sigs.k8s.io/json
elijahomolo 97dc16097f update dependencies 2022-10-13 12:24:55 -04:00
..
internal/golang/encoding/json update dependencies 2022-10-13 12:24:55 -04:00
CONTRIBUTING.md Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
LICENSE Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
Makefile Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
OWNERS Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
README.md Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
SECURITY.md Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
SECURITY_CONTACTS Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
code-of-conduct.md Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
doc.go Don't let client-go leak memory 2022-04-07 12:37:44 +02:00
json.go update dependencies 2022-10-13 12:24:55 -04:00

README.md

sigs.k8s.io/json

Go Reference

Introduction

This library is a subproject of sig-api-machinery. It provides case-sensitive, integer-preserving JSON unmarshaling functions based on encoding/json Unmarshal().

Compatibility

The UnmarshalCaseSensitivePreserveInts() function behaves like encoding/json#Unmarshal() with the following differences:

  • JSON object keys are treated case-sensitively. Object keys must exactly match json tag names (for tagged struct fields) or struct field names (for untagged struct fields).
  • JSON integers are unmarshaled into interface{} fields as an int64 instead of a float64 when possible, falling back to float64 on any parse or overflow error.
  • Syntax errors do not return an encoding/json *SyntaxError error. Instead, they return an error which can be passed to SyntaxErrorOffset() to obtain an offset.

Additional capabilities

The UnmarshalStrict() function decodes identically to UnmarshalCaseSensitivePreserveInts(), and also returns non-fatal strict errors encountered while decoding:

  • Duplicate fields encountered
  • Unknown fields encountered

Community, discussion, contribution, and support

You can reach the maintainers of this project via the sig-api-machinery mailing list / channels.

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.