classToExtendedJSON
The operation In opposition to classToJSON() Operation, If the conversion is not possible, an error is raised. This optional parameter is an object of type ExtendedJSONComposerOptions. Its attributes are:
Use writeTypeDiscriminator to suppress the generation of xUML type properties ("e2e:type") to the generated JSON. If this option is true, the Runtime will write the original xUML type to the generated JSON in form of In contrast to classToJSON() Operation, writeTypeDiscriminator defaults to false for For more information on Extended JSON refer to MongoDB Extended JSON.Syntax set aString = anObject.classToExtendedJson()
set aString = anObject.classToExtendedJson(format)
set aString = anObject.classToExtendedJson(options)
Semantics classToExtendedJson()
takes any object (anObject
) and tries to map it to an Extended JSON string aString
.classToExtendedJson()
preserves the order of attributes of the converted class. JSON types and xUML types are mapped as listed in chapter jsonToClass() Operation. These details also refer to Extended JSON.classToExtendedJSON()
does not support cyclic structures. When a cyclic structure is detected during serializing the given object, an exception will be thrown.Substitutables anObject
Any object. aString
Target Extended JSON document as String. format
String that specifies the format of the Extended JSON that should be produced (more details see options
below).options
Attribute Type Description Allowed Values format String Use format to specify which kind of Extended JSON should be produced: canonical or relaxed Extended JSON. canonical Produce canonical Extended JSON (default). relaxed Produce relaxed Extended JSON. keepNulls Boolean When keepNulls is true, attributes of anObject with NULL values will be rendered to the Extended JSON object, otherwise they will be left out completely (see also chapter NULL Values). The default behavior of classToJson()
(i.e. when called without options) is equivalent to keepNulls=false.true Render NULL attributes to the Extended JSON string. false Leave out NULL attributes (default). writeTypeDiscriminator Boolean "e2e:type": "<name of the original xUML type>"
if the type being serialized does not match the expected metadata. This is necessary if you want to convert the generated Extended JSON back to an xUML class using extendedJSONToClass() Operation.classToExtendedJson()
.true Write xUML type discriminator. false Do not write xUML type discriminator (default). Examples set aMongoDBdocument = myAddress.classToExtendedJson();set aMongoDBdocument = myAddress.classToExtendedJson("relaxed");
jsonToClass
The operation By default, the following mapping rules apply: For more mapping details refer to JSON Type Mapping. The action script below creates an object of type Address. An output object flow state named myAddress of type Address needs to be defined in the activity diagram. The example below shows how to specify the xUML type at runtime, e.g. if using a derived class. The xUML type is declared by the attribute " For more information on JSON refer to the JSON Homepage or to RFC 4627.Syntax set anObject = aString.jsonToClass()
set anObject = jsonToClass(literal)
Semantics jsonToClass()
takes an JSON string (aString
) and tries to map it to anObject
. If this is not possible, an error is raised.Substitutables aString
A JSON document as String. anObject
Target object, can be any object. literal
String literal. Examples set myAddress = addressAsJSONDocument.jsonToClass();
create myAddress;
set myAddress = addressAsJSONDocument.jsonToClass();
{
"e2e:type":"urn:json.e2e.ch.AddressWithEmail",
"name":"John Snow",
"company":"Winter & Partners",
"mailaddress":"john.snow@winter.com"
}
e2e:type
". The type has to be specified like <xml_namespace>.<classname>