Advantages of JSON
JSON is primarily used for serializing and de-serializing data being sent to and from an application made using JavaScript. Considering this fact, the advantages of JSON relate to the use of JSON over other option for serialization and de-serialization.
Typically, in an XML environment, the sender encodes the data to serialized, by using a DTD that the recipient can comprehend. This task involves a lot of additional padding around the data, regardless of which DTD in use. Thus the size of the XML documents is significantly larger than the actual data values to be sent. Then, the recipient obtains the XML data stream and decodes it for putting in the memory.
Comparatively, this process of serialization if done through JSON is quicker and more compact due to the format’s inherent structure. JSON structure uses standard programming data types whose structure is simple to understand. Further, the encoding mechanism is efficient enough to add only minimum characters required to reflect the structure and data values. When the recipient obtains this serialized data, the only procedure required is to evaluate the text through a compatible function in any programming language. For example, evaluation can happen by using eval function of JavaScript.
The other standard to compare is Yaml Ain’t Markup Language (YAML) that serializes complex data sets without a DTD and relies on a simpler parser than XML. Even such a parser consumes more time than JSON to output larger streams of serialized data.
Following are some more benefits of using JSON:
- JSON parses faster than XML and YAML.
- JSON is simpler to work with some languages such as PHP, Python, and JavaScript.
- JSON is simpler to map to an object oriented system, as it is data-oriented.
- JSON is a valid subset of even Python and YAML apart from JavaScript.
- JSON easily differentiates between the string ‘2’ and the number ‘2’ as well as between a single item and a collection of size one (array).
- JSON is an ideal data exchange format, and not an ideal document exchange format as XML. Thus, it is not necessary for JSON to be extensible for exchanging documents by defining new tags for representing data.