Internet Object is built around supporting and validating data schema, and produces files roughly 40% smaller than JSON.
Jason McCreary explains principle of “You aren’t going to need it!” found in Extreme Programming, and how it can be valuable for keeping your programming workflows simple.
Nearly 20 years since the publication of JSON, a variety of derivatives and extensions have appeared to address specific needs for specialized use cases, such as JSON-RPC and SOAPjr. Alternatives including YAML (which is technically a superset of JSON, as of version 1.2) are also widely adopted, though a top-down reimagining of data interchange formats is long overdue.
Internet Object could be the “insanely simple” solution to JSON’s shortcomings, according to project creator Mohamed Aamir Maniar. Internet Object is built with a schema-first mindset and with data validation performable on both the sending and receiving end of the equation. The syntax of Internet Object reduces the data size by 40-45% compared to standard JSON, while preserving human readability.
SEE: Secure your data with two-factor authentication (free PDF) (TechRepublic)
The shortcomings of JSON which inspired the creation of Internet Object include the mixture of keys and values, as well as data, headers, and metadata; and lack of inherent schema, which can cause clarity issues when handling data.
“Lack of built-in schema led to other issues such as data validations, non-clarity, extra development time, higher development cost, so on and so forth. For example, every time we serialize and deserialize data, we are required to validate them,” Maniar wrote in the introduction to Internet Object, adding that “For one API endpoint, two different client types…you are required to validate them up to six times; while sending and receiving each at the server, desktop, and mobile.”
Before jumping on the xkcd bandwagon about standards, the world of data interchange formats is (thankfully) not particularly ecosystem-based, nor is it inherently subject to the “one standard to rule them all” line of thinking.
What’s your take on Internet Object? Is the prospect of a JSON/YAML competitor an exercise in futility, or is there enough room for improvement for an alternative to thrive? Let us know in the comment section below.