Without wanting to dispute the relative merits of JSON (which I
know very little about) and XML, I would say that XML is extremely good
for automatic treatment, information exchanges between different
applications, and similar—but is simply not constructed for intense
user/developer interaction.
The fact that it is human readable and editable is a clear bonus, but
can mislead people to think that it is something they should work
directly with. XML, IMO, belongs further down the abstraction hierarchy
where it rarely encounters any human. (Obviously, library developers and
the like will eventually have to deal directly with it.)
A very obvious parallel is HTML: When I am allowed to choose (not
always the case) webdevelopment directly in HTML is the exception and
most HTML is generated through other types of document descriptions, say
a basic markup language (as known from e.g. Wikipedia) or through
JSP-style tag libraries. (This comment should not in anyway be seen as a
recommendation of WYSIWYG HTML-editors—that is a very different topic.)
The fact that it is human readable and editable is a clear bonus, but can mislead people to think that it is something they should work directly with. XML, IMO, belongs further down the abstraction hierarchy where it rarely encounters any human. (Obviously, library developers and the like will eventually have to deal directly with it.)
A very obvious parallel is HTML: When I am allowed to choose (not always the case) webdevelopment directly in HTML is the exception and most HTML is generated through other types of document descriptions, say a basic markup language (as known from e.g. Wikipedia) or through JSP-style tag libraries. (This comment should not in anyway be seen as a recommendation of WYSIWYG HTML-editors—that is a very different topic.)