зеркало из https://github.com/Azure/ARO-RP.git
d32c09410f
Hive needs to be vendored at the same commit level as it is deployed in ARO. One reason, as described in the linked card, is that changes in APIs can lead to unintended edits during round-trip Get()/Update() flows. ARO-3801 |
||
---|---|---|
.. | ||
internal/golang/encoding/json | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
OWNERS | ||
README.md | ||
SECURITY.md | ||
SECURITY_CONTACTS | ||
code-of-conduct.md | ||
doc.go | ||
json.go |
README.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.