mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-12-22 10:48:30 +00:00
ad0f7a5305
Upgrade to Go 1.20.5, Hydra v2 SDK, rules-go v0.44.2 (with proper resolves), protobuf v25.3 and mass upgrade of Go dependencies. |
||
---|---|---|
.. | ||
internal/golang/encoding/json | ||
BUILD.bazel | ||
code-of-conduct.md | ||
CONTRIBUTING.md | ||
doc.go | ||
json.go | ||
LICENSE | ||
Makefile | ||
OWNERS | ||
README.md | ||
SECURITY_CONTACTS | ||
SECURITY.md |
sigs.k8s.io/json
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 anint64
instead of afloat64
when possible, falling back tofloat64
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 toSyntaxErrorOffset()
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.