Skip to main content

%{} Object Builder

Laurence MorganAbout 1 min

%{} Object Builder

Quickly generate objects (dictionaries / maps)

Description

%{} is a way of defining objects in expressions and statements. Whenever an %{} object is outputted as a string, it will be converted to minified JSON.

Object elements inside %{} can be new line and/or comma delimited. This allows for compatibility with JSON but without the pain of accidentally invalid comma management breaking JSON parsers. However a colon is still required to separate keys from values.

Like with YAML, strings in %[] do not need to be quoted unless you need to force numeric or boolean looking values to be stored as strings.

Examples

Object passed as a JSON string:

» echo %{foo: bar}
{"foo":"bar"}

The % prefix for the nested object is optional:

» %{foo: bar, baz: [1 2 3]}
{
    "baz": [
        1,
        2,
        3
    ],
    "foo": "bar"
}

Detail

Syntax

The syntax is pretty flexible, albeit all Murex objects are displayed as JSON objects when printed to screen or otherwise handled like a string.

The creation syntax follows these rules:

Each key needs to be followed by a colon, :.

Each value needs to be followed by either a comma, ,, new line or closing curly brace, }.

Strings can be quoted or unquoted (like with statement parameters). However any unquoted values will first be tested to see if it is a number, boolean (true of false) or null (null). Keys are always strings (str), even if they look like a number.

See Also

  • Special Ranges: Create arrays from ranges of dictionary terms (eg weekdays, months, seasons, etc)
  • "Double Quote": Initiates or terminates a string (variables expanded)
  • %(Brace Quote): Initiates or terminates a string (variables expanded)
  • %[] Array Builder: Quickly generate arrays
  • 'Single Quote': Initiates or terminates a string (variables not expanded)
  • expr: Expressions: mathematical, string comparisons, logical operators

This document was generated from gen/parser/create_object_doc.yamlopen in new window.

Last update:
Contributors: Laurence Morgan