The rise of JSON has been apparent for some time. Previously we’ve pointed out that 1 in 5 new APIs were choosing JSON over XML. The trend has continued, with an even greater percentage of APIs saying goodbye to XML. Anecdotally, it’s even more interesting that some established players like the Box.net API and YouTube API are making the switch in updated versions.
Box.net provided a detailed explanation for why it chose JSON:
I spent several years of my life implementing against the (completely insane) ACORD IIA standard. It took 2k of XML to tell the other system (an aging mainframe) that someone’s address had changed. What I learned the hard way was that XML as a format is horrendous at talking about objects. There’s an inherent impedance mismatch between XML and regular humans. JSON APIs, by contrast, are all about working with objects in ways that make sense to people.
The YouTube announcement glosses over the reasons for dropping XML and pushes the client libraries “if parsing JSON isn’t your thing.”
Early in the rise of JSON, it seemed the format was popular simply because it was easier to parse in a browser. More recently, the focus has been on XML’s greater complexity and larger payload. “JSON more efficient over carrier mobile networks and less memory intensive to process on mobile and embedded devices,” tweeted Simon Prickett.
Of the thousands of APIs added to ProgrammableWeb in 2012, nearly 1 in 4 provide JSON without XML support, up considerably from 2011’s 1 in 5. To be fair, there are a higher percentage of APIs that only support XML, though that number diminishes when you remove SOAP-based APIs, a standard built upon XML.
It’s hard to have a discussion about XML versus JSON without mentioning the enterprise. “Enterprises have been super slow to adopt JSON,” tweeted Lee Dumond. Enterprises also have tools in place that are built around XML. The same has been said about SOAP. The XIgnite APIs, for example, see billions of calls per month to its primarily SOAP/XML-based, pay-per-request APIs. The company also maintains RESTful version of most of its APIs, though none support JSON.
“It comes down to your audience,” tweeted Scott Boss. “What do they prefer?”