Models

Document Oriented

Document Oriented Models are ordered trees.
Child nodes have various names and types.
JSON Objects represent a single named node
whose value is a JSON Array to order the content.
Further, the node’s meta data is sequenced in a JSON Array, in the first position.

{node-name:[ [{metadata-name:metadata-value},…], node-content,…]}

List Oriented

List Oriented Models are like Document Oriented Models,
but include the node-name in the list, as the first element.

[node-name, {metadata-name:metadata-value,…}, node-content,…]

(JSONML.org)

Object Oriented

Object Oriented Models are unordered trees.
JSON Objects represent an object state.
Each property represents an attribute, which may have multiple values,
represented by an array of values of a single class hierarchy.

{property-name:[property-value,…],…} for properties with many, one or no value.

Multiplicity Dependent

Multiplicity Oriented Models are like Object Oriented Models,
and represent properties restricted to a single value as just the value,
instead of as a singleton set.

{property-name:[property-value,…],…} for properties allowed more than one value.

{property-name:property-value,…} for properties restricted to a single value.