What is XML?

Extensible Markup Language (XML) is simple to read. It's a flexible text format derived from SGML (ISO 8879). Originally designed to meet the challenges of large-scale electronic publishing, XML was the gold standard for data exchange on the Web and elsewhere

Simple XML might look like this:

<?xml version="1.0" encoding="windows-1252" standalone="yes"?>
<Row A="first" B="surname" C="website" />
<Row A="Nick" B="Litten" C="www.nicklitten.com" />


  • Mark-up code of XML is easy to understand for a human; it is possible to create "dialects" for any kind of purpose
  • XML is an extensible markup language like HTML
  • XML tags are not predefined. You need to define your customized tags
  • XML Schema for datatype, structure validation. Makes it also possible to create new datatypes
  • built in support for namespaces


  • Relatively wordy compared to JSON (results in more data for the same amount of information)

What is JSON?

JavaScript Object Notation or JSON (/JAY-sən), is an open-standard file format that uses human-readable text to transmit data objects consisting of attribute–value pairs and array data types. It is a very common data format used for asynchronous browser/server communication, including as a replacement for XML in some AJAX-style systems.

Data types in JSON include string, number, boolean, array

Simple Json might look like this:

{"name": "Nick","surname": "Litten", "website": "www.nicklitten.com"}


  • Simple syntax, which results in less "markup" overhead compared to XML.
  • Easy to use with JavaScript as the markup is a subset of JS object literal notation and has the same basic data types as JavaScript.
  • JSON Schema for description and datatype and structure validation
  • JsonPath for extracting information in deeply nested structures


  • Simple syntax, only a handful of different data types are supported.
  • No support for comments

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}