JSON, short for JavaScriptObjectNotation is an text based information exchange format that can easily be read by humans and mashines alike.
Even though it started in JavaScript, it is no longer bound to any programming languages.
It often is used in WebAPIs, but can also be used to in and export information, settings, configurations and so on with any application.
Lets have a look at an example for an effect in TouchDesigner with some info about the Level, Rate and a Caption to display.
{ "Level" : 1,
"Rate" : 0.5,
"Caption" : "My First Effect" }
A JSON Object is encased in { }. Then we use a string as a Key to identify the entry, and after a : we give it a value. Then we use a comma to start the next entry. In theorie we could write all of this in one line without problems.
Another powerfull tool is nesting. You can put one Object into another one.
Lets for example store some information about a display.
{ "Display1": { "Resolution" : { "x":1920, "y":1080},
"Refreshrate" : 60},
"Display2": { "Resolution" : { "x":1280, "y":720},
"Refreshrate" : 60}
}
Easy to read, isn’t it? Display1 has a Refreshrate of 60Hz and the x axis of the resolution is 1920 and the y axis is 1080. Display 2 sports a resolution with x 1280 and y 720.
An mashines also like to read that code!