%{} 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"}

Nested objects

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


This document was generated from gen/parser/create_object_doc.yaml.

This site's content is rebuilt automatically from murex's source code after each merge to the master branch. Downloadable murex binaries are also built with the website.

Last built on Tue Dec 10 22:56:57 UTC 2024 against commit 60f05a260f05a227caf73dd5b3478e3cb3f4bb24e46745b.

Current version is 6.4.1005 (develop) which has been verified against tests cases.