The New Age Data Serialization
Thin! Light Weight! Schema First! Well-Designed! Insanely Simple!

Revolutionize your data exchange and storage with a format that's built for efficiency, clarity and reliability. A Text Based Data Serialization and Structured Storage Format Beyond JSON!


Meet Internet Object

Efficient Data Exchange & Structured Storage

Explore the Future of Data Management: Unveiling the Advantages of Internet Object's Advanced Serialization and Structured Storage Capabilities

Text based and clutter-free structure

Text based and clutter-free structureFor Thin and Clear Data Exchange

Internet Object is a minimalistic and text-based format designed for data interchange. It is language-independent and crafted to be easily readable by humans while remaining efficient for network communication.

Internet Object aims to provide a straightforward approach to data exchange that is both clear and fast.

Try in Playground
Thin & Light
name, age, active, joiningDt, address*: {street, city, state}
---
~ John Doe, 25, F, d'2022-01-01', {Bond Street, New York, NY}
~ Peter Parker, 30, T, d'2018-10-01', N
~ Tony Stark, 40, T, d'2015-10-01', N
~ Bruce Wayne, 45, T, d'2010-10-01', {Wayne M, Gotham, NY}
~ Clark Kent, 35, T, d'2005-10-01', {X Street, Metropolis, NY}
~ Jane Doe, 25, T, d'2022-01-01', N

Schema First

Schema First For Enforced Data Validation & Accuracy

Internet Object is developed as a schema-first data interchange format, emphasizing strong schema support from the outset. This approach ensures thorough data verification, facilitating built-in validation at both the sending and receiving ends.

By automating data checks, it significantly conserves developers' time, enhancing productivity and efficiency in data exchange processes.

Schema First
# Header can contain schema and/or meta-data, here
# it contains schema
name:string,  # Name of the person
age:{number, max:30},
address*: {street, city, state} # Address is nullable
---
~ John Doe, 25, {Bond Sreet, New York, NY}
~ Jane Doe, 20, N
                

Thoughtfully Designed

Thoughtfully Designed For Web Data Transport

Internet Object is specifically designed to meet the unique demands of web data. It advocates for the separation of metadata from actual data and promotes modularity with distinct data sections. Additionally, it offers a streaming-friendly structure along with various features that enhance the efficiency of data handling and interchange.

This design philosophy guarantees that Internet Object remains highly adaptable to a range of use cases, thanks to its simplified and modular structure.

Planned & Structure
# Response Status as Meta Data
~ success: T
~ recordCount: 23
~ currentPage: 2
---
# Data Section
~ John Doe, 25, {Bond Sreet, New York, NY}
~ Jane Doe, 20, N
# ....
~ Pete Johnson, 26, N


Advanced Primitive Types and Special Values

Advanced Primitive Types and Special Values For Optimized Data Representation

Internet Object offers robust support for a wide range of data types and formats. This includes various numerical formats like Decimal, Binary, Hex, and Octal, ensuring flexibility in numeric data representation. It also accommodates multiple string types, such as Open, Regular, and Raw Strings, catering to different string-handling needs. Additionally, Internet Object supports multiline strings and provides seamless conversion to/from native date objects for ISO-8601 like format compatibility during serialization.

Furthermore, it includes built-in support for special values like Inf, -Inf, and NaN, enhancing its versatility in data representation and interpretation.

Inline Variables and Comments

Inline Variables and Comments For Dynamic Data and Essential Context

Through variables and comments Internet Object format aims to improve data interchange and readability. While variables allow for more dynamic data representation, and reducing redundancy, comments within Internet Object enhance clarity, offering essential context and guidelines directly alongside the data and the schema.

These features contribute to making Internet Object a more user-friendly and efficient format for web data exchange requirements.

JSON Compatibility

JSON Compatibility For Seamless Migration to Internet Object

While the Internet Object Format (IO) wasn't specifically engineered to be compatible with JSON, its final implementation unexpectedly aligns with JSON standards. This serendipitous compatibility serves as an added bonus, akin to the cherry on top, facilitating a smooth transition from JSON to IO. This feature allows developers familiar with JSON syntax and conventions to seamlessly adopt Internet Object, minimizing the need for immediate and extensive code modifications.

Internet Object's support for gradual and hassle-free migration from JSON provides convenience and flexibility to developers in adopting a new data serialization format.


Comparison with JSON

Advantages of Internet Object Over JSON

While JSON is widely known for its simplicity and interoperability across different platforms, Internet Object offers enhanced features such as thin and compact, and clutter-free data, a schema-first approach, advanced data types, structure suitable for the web, and much more!


FAQ

Any Doubt?

These are the questions that have been frequently asked after the concept was previewed to the community.

As the Greek philosopher, Heraclitus, said: “change is the only constant.”. Internet Object was created to address some of the issues found in JSON which happens to be the most prominent data serialization format today. For more information, please read the story.

One of the primary objectives of the Internet Object is to be solely a text-based human-readable serialization format. Hence, the current version of Intenet Object natively does not support direct binary data. Binary data may be escaped using the algorithms like Base64 so that it can be passed as a string value.

JSON support was not one of the objectives of creating the Internet Object. However, the final format turned out to be JSON compatible. So yes, Internet Object understands the JSON format.

Yes, Internet Object schema can validate an Internet Object document as well as a JSON object.

The uncompressed (non-gzipped) IO document is generally 40% smaller. When compared with gzipped versions of JSON and IO documents, we saw unpredicatable results. Sometimes IO document was smaller than JSON, sometimes it was around the same size. On a few occasions, the JSON document was a bit smaller than the IO version.

Internet Object is a very simple format. It is very easy to build the document just by concatenating the strings! In such cases, it is very fast to build the document. However, in reality, the performance of the parsing depends upon the parser and other factors. A well-written parser will be faster than poorly written parsers.

Great, that you would like to support Internet Object. You can contribute in many ways.

Some of them are...

  1. Join the team that is developing an Internet Object library in your favorite language.
  2. Write articles, blog posts, and tutorials about Internet Object.
  3. Help friends and colleagues get started with the concept
  4. Help us develop various technical documentations
  5. Be a proofreader and help us correct the specification and document language
  6. Translate the documentation in various languages
  7. Spread the word about Internet Object

Connect with Us!

Share your insights, learn from others, and contribute to the evolution of Internet Object. Your expertise can help shape the future of data serialization. Learn more and join us on our community page!