mxjson
mxjson
Murex-flavoured JSON (deprecated)
Description
This format has been deprecated in favour of
%{}
constructors.
mxjson is an extension to JSON designed to integrate more seamlessly when use as a configuration file. Thus mxjson supports comments and Murex code blocks embedded into the JSON schema.
mxjson is a format that is pre-parsed into a valid JSON format.
mxjson isn't a Murex data-type in that you cannot marshal and unmarshal mxjson files. Currently it is a format that is only supported by a small subset of Murex builtins (eg config
and autocomplete
) where config might embed Murex code blocks.
mxjson features the following enhancements:
Line Comments
Line comments are prefixed with a 'hash', #
, just like with regular Murex code.
Block Quotation
Code blocks are quoted with (
, )
. For example, below "ExampleFunction" uses the ({ block quote })
method.
{
"ExampleFunction": ({
out: "This is an example Murex function"
if { =1==2 } then {
err: "The laws of the universe are broken"
}
})
}
Any block quoted by this method will be converted to the following valid JSON:
{
"ExampleFunction": "\n out: \"This is an example Murex function\"\n if { =1==2 } then {\n err: \"The laws of the universe are broken\"\n }"
}
See Also
- Brace Quote (
%(
,)
) Tokens: Initiates or terminates a string (variables expanded) - Code Block Parsing: Overview of how code blocks are parsed
- Create array (
%[]
) constructor: Quickly generate arrays - Curly Brace (
{
,}
) Tokens: Initiates or terminates a code block Marshal()
(type): Converts structured memory into a structured file format (eg for stdio)Unmarshal()
(type): Converts a structured file format into structured memory[[
(element): Outputs an element from a nested structure[
(index): Outputs an element from an array, map or tableautocomplete
: Set definitions for tab-completion in the command linecast
: Alters the data type of the previous function without altering it's outputconfig
: Query or define Murex runtime settingsformat
: Reformat one data-type into another data-typehcl
: HashiCorp Configuration Language (HCL)json
: JavaScript Object Notation (JSON)jsonc
: Concatenated JSONjsonl
: JSON Linesopen
: Open a file with a preferred handlerpretty
: Prettifies JSON to make it human readableruntime
: Returns runtime information on the internal state of Murextoml
: Tom's Obvious, Minimal Language (TOML)yaml
: YAML Ain't Markup Language (YAML)create-object
: