Open
Description
The approach taken by json-iterator and its reflect library is not long-term stable (it pins to internal details of the stdlib reflect package), and requires maintenance per go release, which does not appear to be sustainable golang/go#48238 (comment)
Minimum versions to work with go1.18+ are:
- github.com/json-iterator/go v1.1.12
- github.com/modern-go/reflect2 v1.0.2
In addition to the maintenance aspect, it is hard to reason about the safety of the implementation (golang/go#48238 (comment))
I'm exploring what it would look like to use the stdlib json decoder as a base and add in the features we rely on (case-sensitive keys, preservation of ints/floats, etc) in kubernetes/kubernetes#105030
I would encourage this project to consider the long-term sustainability/safety of the json-iterator dependency as well.