When I was writing an xbrl-to-json library I suddenly realized that they are not perfectly transferable.
XML comes from spreadsheets, and so it was the first mover. Whereas json came from key-value pairs. I think key-value pairs are much easier to picture in your mind, and for the vast majority of work people are doing, it's just simpler.
I think XML is wildly complicated for simply APIs.