I think what's wrong with JSON is you have to quote the field-names. That makes it unreadable and easy to create typos.
Why are the quotes needed? It would be a simply change in the spec if names without spaces in them could be expressed without quotes.