It's a real shame JSON doesn't have 3 and 4, because it would be so easy and it's otherwise pretty much perfect imo. No ambiguity, every value type can be identified by its first character, clean and reasonably minimal syntax.
might not be as "common" but it has good implementations for many languages.
cat cfg.json | sed -e 's/\s*#.*$//g' | jq .
Allowing multiple lines is more complicated, can't do that with regex alone.If anybody short of a standards body tries to expand the spec, you lose out on most of that.
And without comments or optional quoted keys single quotes or trailing commas, which makes editing by hand more work and IMO less readable.