Version 1 (modified by lgiessmann, 6 years ago) (diff)

initial creation


JSON Interface

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.

JSON Exporter

The package "json-exporter" offers the functions:

  • to-json-string
    • 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
  • get-all-topic-psis
    • 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
  • to-json-string-summary
    • 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
  • make-topic-summary
    • 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.

JSON Importer