Literally the only things actually "wrong" with JSON (as opposed to complaints about developer ergonomics) are the lack of proper support for floating point special values (e.g., +inf, -inf, nan) and not having a date literal (RFC3339 would be ideal).
Maaaaaaybe removing tolerance of duplicate keys.
Possibly, a binary literal (hex64 bytestring, maybe like << base64 encoded>>) syntax.