JSON Structures

Last modified: February 12, 2024

1 General

A JSON structure document stores a JSON snippet and converts it into a schema structure that can be used in Import Mappings and Export Mappings to convert JSON content to Mendix objects and vice versa.

1.1 JSON Snippet

Contains text of the JSON snippet. It is usually pasted from API documentation, or you can enter it manually for simple JSON.

1.2 Format

Formattings and whitespacing of JSON snippets that are found in API documentation may vary. You can paste JSON into the document without bothering about whitespaces. The Format button formats the JSON snippet so it is recognizable and readable. The semantic contents of the snippets are not changed.

1.3 Structure

Shows a tree structure with a schema that is parsed from the JSON snippet. The following columns are available:

  • Name – this shows the name of a JSON element. If the JSON element does not have a name, it shows the element type within parentheses: (Object), (Array), (Wrapper), or (Value).
  • Value – this shows the original value of the element in the JSON snippet. It is used to make it easier to find back the original element in the snippet. It is not used in the rest of the model.
  • Primitive Type – this shows the type of element after parsing.
  • Occurrence – this shows the occurrence of the element. Typically, JSON arrays have multiple occurrence (0..*) and JSON objects have a single occurrence (1).
  • Custom name – this column is editable. Often, the name JSON objects or arrays can not be inferred from the snippet. For reference, you can modify the name of the JSON element. This name is important when you use mapping documents based on the JSON schema. You will see this name in mapping elements. It is used when you want to use Map Automatically to generate domain model entities and associations.

1.4 Documentation

Documentation that describes the snippet.

2 Parsing of the JSON Snippet

2.1 Simple JSON Objects

A simple JSON object is contained in curly braces (between { and }). It contains a comma-separated list of JSON properties. See the following example.

Each JSON property is composed of a key (“name”) and a value (“John”). If the value is between double quotes (" “), it is considered a string, otherwise the type is derived from the value. The following JSON values are supported:

  • "string" – converted into an attribute of type String
  • 123 – converted into an attribute of type Integer
  • true or false – converted into an attribute of type Boolean
  • "1985-04-12T23:20:50.52Z" – converted into an attribute of type Date and time
  • 12.50 – converted into an attribute of type Decimal

2.2 JSON Arrays

A JSON array is contained in square brackets (between [ and ]). It contains a comma-separated list of JSON values or JSON objects.

  • a JSON array can be the root of the JSON snippet

  • a JSON array can be contained within a JSON object

  • a JSON array can be contained within another JSON array