JSON started as the "serialized object notation" for JavaScript, the programming language of the Web. With a nice combination of simplicity (the essentials of the format are specified in five grammar diagrams at JSON.org) and "just enough structure," JSON has quickly expanded beyond the Web into applications and services. For example, JSON is displacing the more complex XML format as the serialization format for exchanging data between applications.

Developer friendliness

Application developers must manage both code and data. Code is verbs, or the instructions and descriptions of how to perform a task. Code is the recipe. Data are the nouns: users, locations, recordings, amounts -- the ingredients the recipe combines. As more application developers adopt JSON as their preferred data format, the need is growing for JSON-friendly databases. Few coding tasks are more annoying or more bug prone than mechanically translating information between formats.

As a consequence, several NoSQL document store database vendors have chosen JSON as their primary data representation in a stark break from traditional relational schemes used by MySQL, PostgreSQL, VoltDB, MS SQL Server, Oracle and others. This is a natural fit for developers who use JSON as the data interchange format in their applications.

Additionally, the relative agility of JSON (JSON records are well structured but easily extended) has attracted developers looking to avoid painful database schema migrations in agile environments. Data and schema, in volume, can be hard to change. Rewriting a large dataset stored on disk while keeping the associated applications online can be time consuming. It can take days of background processing, in moderate to large examples, to upgrade data.

In contrast, JSON's lack of a predefined schema makes upgrades easy. Developers can store and update documents without restrictions.

Document vs. relational databasesOf course, eliminating restrictions and allowing arbitrary data in your database can have its downsides, too. Giving up the relational database model has drawbacks for developers, enterprise architects, and the businesses they serve. In fact, relational databases originally came to popularity displacing systems similar in structure to today's JSON document stores.