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: