Earlier quoted context omitted.
What is bad about encoding/json?
There is a version 2 being implemented to fix some of the known issues. https://github.com/golang/go/discussions/63397 https://pkg.go.dev/github.com/go-json-experiment/json
It's still a pretty sharp disappointment to compare Go's json/encoding to Python's Pydantic or Rust's serde. One is all sharp edges, bad DX that permeates every use you make of them, and its only upside is that it provided as part of the stdlib. The other two are unobtrusive and just work.