First, let’s recap the most common file formats that exist in the banking world:
Text-based messages (sometimes referred to as Fixed Record Length) are one of the oldest message formats that exist. They are flexible and let users exchange detailed information in a relatively compact format. Each set of data can often be extracted on a per-line basis (for instance 1 payment per line), surrounded by a header and footer line. Each line usually stores multiple pieces of information that can be extracted using a pre-defined offset and length (for instance, at position 1 with a length of 3, at position 4 with a length of 10, etc.).
XML files were born in the 1990s and let users store structured data. One of the most interesting features of this format is its typing system, which indicates the format of a given piece of information (for instance, a date, an amount, a noun with a maximum length of 35 characters, etc.). It can contain multiple, nested entries, which makes it convenient to store intricate data structures. One drawback of this message format is that it can be quite verbose, which increases its weight.
JSON is a structured message format from the end of the 90s. Easy to format and manipulate, it can store large volumes of data and can contain nested, typed properties. This format has been widely used by the Web since the 2000s.