enabled, one can query data based on certain simple and nested properties in the JSON.
Similarly, JSON has merits in a distributed system, like the microservice architecture. Data passing between individual services can be done using JSON encoding. It is the de facto encoding inside a Node.js ecosystem. However, in polyglot systems, the efficient way for data passing would be to use something like Apache Avro or Protocol buffers.
The same can also be said for asynchronous modes of communication. JSON being just an encoding format, is also applicable for representing the payload in message queues or task queues. E.g: AWS’s SQS/SNS services, among others, support JSON as one of their payload formats. Thus, JSON is well-supported in both asynchronous as well as synchronous communication.
Simpler database designs
Storing data as JSON can also aid in simpler schema designs. Sometimes, we don’t know beforehand, in addition to the mandatory basic attributes, what optional attributes we might need to store regarding our data entities. In such scenarios, Entity-attribute-value (EAV) tables are used. EAV tables often result in cumbersome queries, especially in case of complex joins. These EAV tables can easily be replaced by JSON, which can be queried, indexed and joined conveniently and even effect marked performance improvements, as demonstrated in the following images.

