Skip to main content

Why use JSON over XML?

By Sam Deering

JavaScript

Share:

Free JavaScript Book!

Write powerful, clean and maintainable JavaScript.

RRP $11.95

There are times when you may be unsure what format to choose when transmiting data between a server and web application. Here are a few reasons why you might choose to use JSON rather than XML and a few why you might choose XML rather than JSON.

Background Information

What is JSON?

JavaScript Object Notation (JSON) is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript programming language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for most programming languages.
Further reading: http://en.wikipedia.org/wiki/Json

What is XML?

Extensible Markup Language (XML) is a set of rules for encoding documents in machine-readable form. XML’s design goals emphasize simplicity, generality, and usability over the Internet.
Further reading: http://en.wikipedia.org/wiki/XML

Reasons to choose JSON over XML

  1. JSON requires less tags than XML – XML items must be wrapped in open and close tags whereas JSON you just name the tag once
  2. Because JSON is transportation-independent, you can just bypass the XMLHttpRequest object for getting your data.
  3. JavaScript is not just data – you can also put methods and all sorts of goodies in JSON format.
  4. JSON is better at helping procedural decisions in your JavaScript based on objects and their values (or methods).
  5. You can get JSON data from anywhere, not just your own domain. There’s no more proxy server nonsense.
  6. Yahoo has a really good YUI2 JSON API.
  7. JSON is easier to read than XML – Obviously a personal preference

Reasons to choose XML over JSON

  1. Easy to take XML and apply XSLT to make XHTML.
  2. XML is supported by many more desktop applications than JSON.
  3. JSON can be put in the XML on the way back to the client – the benefit of both! It’s called XJAX (stands for X-domain JavaScript And XML).
  4. Simply, AJAX includes XML in it and not JSON.

Still can’t decide? Flip a coin or use a JSON/XML converter.

Sam Deering has 15+ years of programming and website development experience. He was a website consultant at Console, ABC News, Flight Centre, Sapient Nitro, and the QLD Government and runs a tech blog with over 1 million views per month. Currently, Sam is the Founder of Crypto News, Australia.

New books out now!

Get practical advice to start your career in programming!


Master complex transitions, transformations and animations in CSS!