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 data type and structure validation
Supports Objects, array, data types etc..
Light weight for exchanging data..
Generalized markup; it is possible to create "dialects" for any kind of purpose
Built in support for name-spaces
XML Schema for data type, structure validation. Makes it also possible to create new data types.