Most of the time, parsing isn't the problem you want to be solving.
People use JSON because they need to send information over a wire, and JSON serializers are abundant. I agree that this is problematic for a bunch of different reasons:
[1] https://taylor.town/json-considered-harmful
But note that this problem has been solved many, many times:
[2] https://en.wikipedia.org/wiki/Comparison_of_data-serializati...
Formats like MessagePack and Cap'n_Proto have a lot of nice properties.
Writing parsers is not easy. And it's especially not easy when you have a custom format that different people want to do different things with.
---
Btw, I've tried out pretty much every parsing library in Rust, Typescript, and Haskell.
Elm's parsing library is the only one I enjoy using:
[3] https://package.elm-lang.org/packages/elm/parser/latest
I think nearley.js has a cool interface but poor execution:
[4] https://nearley.js.org