JSON has the same thing going for it as the h.264 video codec - it may not be _the_ best/most open/etc. format around, but it is one of the few that is supported out the box by all major browsers and Just Works™ (with it's shortcomings).
There are a couple of projects which extend JSON. I believe an ideal JSON superset would be compatible with ECMAScript 6 object literals, and have comments and trailing commas.
Yes, one of my main uses of JSON in my personal projects (and at one of my previous companies) is to serialize a Python dict to disk or network (and to read a Python dict from disk or network, of course). If I keep the members to int/float/str/dict/list, it works beautifully, and if I need to serialize anything more complex, I can always use jsonpickle.
Breaking that would only lead developers to write code to unbreak it.
* Virtually zero learning curve if you already know JS.
* It can be pasted into and out of a working program.
* Constrains the format from becoming bloated.
What if you know other languages but not js?
> * It can be pasted into and out of a working program.
Again only true for js