
So, if this is the data format exclusively for machines, why not use ASN.1 instead? Pretty compact. Or protobuffers, and the like.
No, the advantage of JSON is that a) it's readable; b) it's executable (but everybody's afraid to execute it).
Parsing JSON the way data are written as literals in JavaScript is not harder than interpreting JavaScript. Which is fast. So we could add comments, quoteless names, hanging commas, multiline string literals. It's not a big deal.
The disadvantage is that a bunch of dumb software would not understand it. But the software is already dumb. I remember pinging Crockford when I found his implementation of JSON has some kind of error, forgot what.
It's not a big deal to start understanding more.
What JSON is definitely not good for is storing data and searching data by the key. Any hierarchical structure is not good. To store, data should be flattened.
Now properties.
People use JSON (good, readable), YAML (good, readable), XML (stupid, unreadable, traditional), HOCON (better than YAML, readable).
Of course configs, written by humans, should better be in HOCON.
But JSON is definitely read by humans; and pretty often written by humans, too. So why not give more freedom to the people? Gradually, of course.