周玉环 d906a41c2e first commit 2 днів тому
..
internal d906a41c2e first commit 2 днів тому
CONTRIBUTING.md d906a41c2e first commit 2 днів тому
LICENSE d906a41c2e first commit 2 днів тому
Makefile d906a41c2e first commit 2 днів тому
OWNERS d906a41c2e first commit 2 днів тому
README.md d906a41c2e first commit 2 днів тому
SECURITY.md d906a41c2e first commit 2 днів тому
SECURITY_CONTACTS d906a41c2e first commit 2 днів тому
code-of-conduct.md d906a41c2e first commit 2 днів тому
doc.go d906a41c2e first commit 2 днів тому
json.go d906a41c2e first commit 2 днів тому

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.