Internet Object is an upcoming well-planned data serialization format for transmitting textual data over the internet. Its idea was originated out of the frustrations caused by JSON. However, soon it became an independent research project that aimed at developing the best data interchange format for the internet. This multipart series is designed to showcase the various aspects of Internet Object in a simple, direct and non-verbose fashion.

If you are not aware of the Internet Object, you can visit InternetObject.org or read the story here.

This article series assumes that you are well aware of the JSON document structure and its applications with respect to REST and API design and development.

To understand the Internet Object document, let’s starts with the JSON object. Most of the JSON objects are valid Internet Objects. Hence, the following JSON object is a valid Internet Object too.

{

"name": "Spiderman",

"age": 25,

"active": true,

"address": {

"street": "Queens",

"city": "New York",

"state": "NY"

},

"tags": ["agile", "emotional"]

}

However, it is not optimized for transfer over the wire! The idea is to trim down all the unnecessary stuff from the object so that it contains only the interchangeable/serializable/transferable data.

Spiderman, 25, T, {Bond Street, New York, NY}, [agile, swift]

Let’s start the transition by removing the quotations and the outer curly braces. Also, change the true to T .

name: Spiderman,

age: 25,

active: T,

address: {

street: Queens,

city: New York,

state: NY

},

tags: [agile, emotional]

The result is a valid keyed version of the Internet Object data document. To further optimize let’s move everything in the same line.

name: Spiderman, age: 25, active:T, address: {street: Queens, city: New York, state: NY},tags: [agile, emotional]

Now separate out the keys from this object.

name, age, active, address: {street, city, state}, tags

The result is a plain basic form of Internet Object schema. Though this is not the comprehensive and ideal version of the schema, it defines the object structure. After the schema is withdrawn away, the object is left with plain data.

Spiderman, 25, T, {Bond Street, New York, NY}, [agile, swift]

You can use schema and data independently (as defined above) or in their combined form as follows (separated by “data-separator” --- ).

name, age:, active, address: {street, city, state}, tags

---

Spiderman, 25, T, {Bond Street, New York, NY}, [agile, swift]

This gives the fundamental structure of the Internet Object document. The way HTML document is divided into Head and Body, Internet Object document is divided into the Header and Data section. The header contains Schema and/or MetaData. We’ll see more about Meta Data in the next article in the series.