|Version 1 (modified by lgiessmann, 5 years ago)|
The JSON interface offers several functions to serialize TM-constructs and TMCL-standard-constraints as JSON-strings. The RESTful interface is also able to serve these JSON-objects by calling certain URLs.
The goal of the JSON interface is offering data for generating the Isidorus-UI.
The defined objects served by the JSON interface are also expressed in EBNF and a less formal syntax xtm_json.
The package "json-exporter" offers the functions:
- a generic function which is bound to most classes defined in the isidorus data model, e.g. TopicC, NameC, AssociationC, FragmentC, ...
- serializes the called object to a JSON string by using the cl-json framework and several helpr functions
- returns a JSON string that represents a list of lists, every single list contains all PSIs of a topic. The entire list contains lists of these serialized topics. This functions can be used to represent all Topics in the store
- this function serializes the called topic object to a JSON-string which contains all necessary data as a kind of summary. I. e. all identifiers, instanceOfs, name-values (the actual name-strings) and occurrence-values (the actual occurrence-strings) are serialized
- returns a JSONB-string representing a list of serialized topic-summaries
Further (private) JSON-functions are defined in the package "rest-interface". These are functions which are needed to generate additional information for the Isidorus-UI, e.g. the tree-view.