• Also known as
  • JSON

The JavaScript Object Nota­tion (JSON) is a semi-struc­tured, text based data for­mat. Much like XML, JSON has the abil­ity to store and exchange hier­ar­chi­cal data in text form. It is often used for data trans­mis­sion between servers and web appli­ca­tions or web con­nected devices, for exam­ple when using REST APIs.

While JSON closely resem­bles a sub­set of the JavaScript syn­tax, it is not only used by JavaScript-based appli­ca­tions. Many other pro­gram­ming lan­guages natively sup­port JSON.

Unlike the more tra­di­tional col­umn-based CSV text for­mat, JSON stores data in nested objects and arrays, which them­selves con­tain val­ues. It can rep­re­sent num­bers, booleans, strings, null, ordered sequences of val­ues (arrays), and string-value map­pings (objects). This struc­ture is highly adapt­able to the addi­tion of new data, mean­ing that the col­lec­tion of data doesn't need to be lim­ited by the columns within the data­source.

As JSON does not natively rep­re­sent more com­plex data types like func­tions, reg­u­lar expres­sions, dates, and so on, such com­plex infor­ma­tion is usu­ally seri­al­ized before stor­ing it to JSON, and dese­ri­al­ized when read­ing the infor­ma­tion back. Date objects for exam­ple, can be seri­al­ized to a string con­tain­ing the date in ISO for­mat.