Page tree
Skip to end of metadata
Go to start of metadata
Syntax
set anObject = aString.jsonToClass()
set anObject = jsonToClass(literal)
Semantics

The operation jsonToClass() takes an JSON string (aString) and tries to map it to anObject. If this is not possible, an error is raised.

By default, the following mapping rules apply:

  • JSON attributes are mapped to class attributes having the same name.
  • Attributes not defined in the target class are ignored.

For more mapping details refer to JSON Type Mapping.

SubstitutablesaStringA JSON document as String.
anObjectTarget object, can be any object.
literalString literal.
Examples
set myAddress = addressAsJSONDocument.jsonToClass();

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.

create myAddress;
set myAddress = addressAsJSONDocument.jsonToClass();

Below, a sample JSON string is shown to illustrate the mapping executed by the jsonlToClass() operation. The JSON string is mapped to an instance of Address as shown in the activity diagram.

{"name":"John Snow", "street":"99, Malamute Street"}

Find below a second example, showing how to specify the Bridge type at runtime, e.g. if using a derived class.

{
  "e2e:type":"urn:json.e2e.ch.AddressWithMail",
  "name":"John Snow",
  "street":"99, Malamute Street",
  "mailaddress":"john.snow@winter.com"
} 

The Bridge type is declared by the attribute "e2e:type". The type has to be specified like <xml_namespace>.<classname>

Example File (Builder project Add-ons/JSON):

<your example path>\Add-ons\JSON\uml\userManager.xml

For more information on JSON refer to the JSON Homepage or to RFC 4627.

Related Pages:
Related Documentation: