Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

JavaScript Object Notation (JSON) is an open standard data interchange format that uses human-readable text to exchange data in name-value pairs.

...

  • Property - a name/value pair within a JSON object

  • Property Name - the name portion of a name/value pair

  • Property Value - the value portion of a name/value pair

General Guidelines

Do not use Envelope Style (or Enveloping) in which the top level object is a named property. Rather, follow the industry practice of rendering the top level object's child properties directly with no named property at the beginning.

No comments - don't use comments in JSON / JsonSchema. JsonSchema provides specific support for examples and descriptions. JSON files free from comments are a conventional feature of this lightweight format.

When we have property properties that need to go together they should be an Object and introduce a level of hierarchy.

No extraneous layers, layers that don't add value to the thing being transmitted instance schema. For an example the OrgInfo or Party Aggregates in the BMS.

Property Name Guidelines

Property Names shall use camelCase, in which the property names begin with a lower-case letter and consist of words, acronyms, numbers, and abbreviations concatenated with each subsequent one beginning with an upper case letter.

Singular vs. Plural - use plural property name for arrays, singular names for all other properties.

...

Existing CIECA BMS xml and JSON schemas use UpperCamelCase, upper case acronyms, etc., which don't follow the current style guide. This style guide describes the current best practices for new APIs' use of JSON.

Naming Convention that Desc should be used for property that describe something in a string.

Property Value Guidelines

...

Enumerated types: Enum values should be represented as strings.

Always make sure that you are referencing the property definition.

...

- Move to Schema Building Procedures document

Property Values Data Types

...