iCal4j Serializer - JOT Notation
The JOT notation is JSON format derived from iCalendar and vCard properties, that may be used to construct and modify iCalendar and vCard objects.
Overview
JOT does not provide a complete representation of iCalendar and vCard, but rather is used to convey concise information to construct and modify object data as would be commonly found in a REST-ful API.
For example, if we want to create a new event, rather than providing a complete iCalendar object (as would be the case with xCal/jCal/JSCalendar, etc.) we can provide just the required information:
Obviously there is a lot of missing information required to construct a complete iCalendar object, but the serializer implementation may be used to fill in those blanks.
JSON Structure
JOT notation represents a list of properties that may be used to construct a calendar, component or card object from the iCalendar and vCard specifications.
Each property may take one of two forms: Scalar and Object.
Scalar Notation
Scalar notation is used to represent a simple property or parameter consisting of a name/value pair. This notation supports string values for all properties, in addition to boolean and integer where applicable. Binary values should be encoded as a BASE64 string.
Object Notation
Object notation is used to represent a complex property that contains one or more parameters. This notation defines properties as nested JSON objects with scalar notation used to describe parameters and the property value.
{
"dtstart": {
"value": "date",
"date": "2024-01-01"
},
"organizer": {
"cn": "John Doe",
"cal-address": "mailto:[email protected]"
}
}