tags:

views:

356

answers:

5

Recently, many programmers and that includes me, have taken the X out of AJAX, and by default use JSON as the protocol format. However I'm trying to think of some places where XML would be more appropriate as a protocol format, that doesn't include SOAP (because SOAP could theoretically be done with JSON anyways).

Note: I love me XML for many other purposes, so its not about XML vs JSON in general, I'm concerned in particular with AJAX's transmission protocol.

+2  A: 

Ajaxian wrote about this very topic - JSON vs. XML: The Debate

Additionally, and I'm not sure of the importance, but some instances might call for attributes on tags, and you can't really place attributes on JSON-entries. I could be way off there though - JSON/XML aren't my strongest areas.

Jonathan Sampson
I didn't down vote you, however my guess is that your giving an "obvious" example in favor of JSON. When this question is about stuff in favor of XML?
Robert Gould
@Robert - you're right. I've modified to post to be more appropriate.
Jonathan Sampson
A: 

For me, I think the biggest drawback of using XML in AJAX is the fact that you will usually have to parse it and convert it in some way, whereas you won't have to do the same with JSON because the format is native to JavaScript. When you add the larger transmission cost to the parsing and conversion, I honestly can't think of a good reason to use XML over JSON for AJAX, though I certainly use XML for many other things.

VirtuosiMedia
Eh? var doc = req.responseXML. Then use DOM functions on doc.
Zach
JSON is not native to javascript - you would still need to parse it. IT just seem like you didn't have to because the browser automatically did it if you loaded it in a <script> tag. Otherwise you'd have to eval() it, or use a JSON library.
Chii
+1  A: 

If you were going to do XSLT conversions on the client side.

Zach
never done this, but it seems true enough
Robert Gould
+8  A: 

This question is very similar to http://stackoverflow.com/questions/325085/when-to-prefer-json-over-xml

Anyhow, I agree with the top voted answer there:

I use JSON unless I'm required to use XML. It's simpler to understand, and (because it requires less configuration overhead) easier to program for reading and writing if the libraries are available in your context, and they're pretty ubiquitous now.

When Amazon first exposed their catalogs as a web service, they offered both JSON and XML. Something like 90% of the implementers chose JSON.

On the flip side of things, XML is good for situations in which...

  • You need message validation
  • You're using XSLT
  • Your messages include a lot of marked-up text
  • You need to interoperate with environments that don't support JSON
  • You need attributes or namespacing

This is also taken from the question above, which is essentially asking the opposite of this.

Paolo Bergantino
+3  A: 
Robert Gould