Serialisation and deserialisation are fundamental processes in sending data over the network or storing it in different formats.

Serialisation is the process of converting an object or data structure (such as a programming object, a list, a dictionary, etc.) into a format that can be stored or transmitted. This format is typically a byte stream, a text string or a structured format such as JSON or XML.

The goal of this process is to simplify complex data into more manageable representations for transmission over the network or storage in a persistent medium such as a file or database. Serialisation is particularly important in the exchange of data between systems, especially when the sender and receiver operate on different platforms or languages.

Deserialisation is the reverse process. It consists of taking data that is in a serialised format (such as a text string or byte stream) and converting it back into an in-memory data object or structure. This allows the transmitted or stored data to be interpreted, the original object or structure reconstructed, and used by the receiving system. For example, in Python, we can serialise an object, such as a dictionary, with its conversion to JSON, and, once received, deserialise it to convert that JSON back into a Python object.

In short, serialisation and deserialisation allow data to be exchanged between different systems in an efficient and structured manner. This method is also applied to the management of information contained in architectural projects that are realised with the BIM system. This can be done using software such as Dynamo, a platform that allows designers to explore visual programming, solve problems and create their own tools.

By Pepe Ribera, Senior Architect in Amusement Logic’s Architecture Department