Serialization & Deserialization
How different systems share data through a common format: what serialization and deserialization are, the main format types, and how JSON structures data.

Problem Statement
Different technologies use different languages, libraries, and frameworks to build applications. Each one serves a different purpose, has its own set of features, and works in a completely different way internally.
These systems need to communicate with each other and share data.
The challenge is how to unify data sharing between these systems so they can work together.
Solution
To solve this, we need a set of rules and standards for sending and receiving data. There are many such standards, and the most widely used one is JSON.
Serialization is the process of converting data from one format to another, for example, converting data from a programming language into JSON.
Deserialization is the reverse process: converting data back into its original format, for example, converting JSON back into objects in a programming language.
Apart from JSON, there are other formats such as XML, CSV, YAML, and so on.
Types of Serialization and Deserialization
Text-based serialization and deserialization
Binary format serialization and deserialization (Protocol Buffers, Avro, Thrift, etc.)
Object serialization and deserialization
Graph serialization and deserialization
JSON
JSON stands for JavaScript Object Notation. It is a lightweight data-interchange format.
It is easy for humans to read and write, and easy for machines to parse and generate.
JSON is a text format that is completely language-independent. It uses conventions familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others.
JSON has these built-in structures:
Objects: a collection of key-value pairs
Arrays: an ordered list of values
JSON is not only used for data exchange. It is also used for configuration files, logs, and more.
JSON syntax is simple and readable:
A JSON document is enclosed in curly braces
{}.Keys are strings enclosed in double quotes
"". Values can be any type of data:A single value is enclosed in double quotes
""if it is a string.Objects are enclosed in curly braces
{}, and each key-value pair is separated by a comma,.Arrays are enclosed in square brackets
[], and each value is separated by a comma,.
By convention, JSON files are kept small enough to load in one go, typically well under 100 MB. Many tools and teams aim for a few MB, since larger files get slow to parse and hard to edit by hand. For larger datasets, people usually switch to formats like JSON Lines (NDJSON), where each line is a separate JSON object, so tools can stream the data one record at a time.
About the author
- My journey started as a Computer Engineering student with a deep curiosity about how software systems are built from the ground up. During college, I dove into web development, databases, and machine learning — shaping a strong foundation in problem-solving and software engineering. I graduated with a Grade A+ and went on to publish research on a KNN-based recommendation system I built as part of my final-year project. After college, I started out building UI dashboards integrated with Microsoft Dynamics 365, improving data visualization by 40% and cutting decision-making time by 25%. I then grew into a Full Stack role — developing a payment gateway serving 66 million users with 125,000 daily transactions, and a real-time analytics dashboard powered by Apache Kafka and Pinot that reduced query latency by 76%. Outside of work, I enjoy building personal projects — from a neighbourhood e-commerce platform to a URL shortener and a video streaming service. I'm driven by clean architecture, real-world performance, and the satisfaction of shipping systems that actually work under pressure.
Comments
Join the discussionNo comments yet. Be the first to comment.
First Principles of Backend Engineering
An in-depth article series deconstructing the core mechanics of backend systems. Moving beyond frameworks and trendy tools, this series explores the fundamental building blocks of the web—from network protocols and reverse proxies to database architecture and server security—helping you understand exactly how and why scalable systems work from the ground up.





