Pair Producer {{: …}}

The pair producer {{: expression_selecting_keys }} creates key-value pairs. It should only be used in a context where key-value pairs are allowed (i.e. in a JSON object context).

The expression following the colon (':') is evaluated and the result is used as a list of keys. All key-value pairs in the current context with a matching key in this list of keys are copied to the output.

Note: With markup input, you can only select element or attribute nodes, because other node types don't have a name (see "Example: XML input").

The pair producer also creates commas between and after its pairs. Therefore you should avoid placing an explicit comma behind a pair producer. If an expression does not match anything, no output would be produced. In that case, your literal comma could be illegal.

Example: explicit keys

Input:

{
  "foo": 1,
  "bar": [{"key":"value"}],
  "baz": 3
}

Template:

{
  {{: foo | bar }}
}

Output:

{
  "foo": 1,
  "bar": [{"key":"value"}]
}

Example: filter

Input:

Template:

Output:

Example: automatic comma

Input:

Template:

Output:

Example: XML input

Input:

Template:

Output:

Last updated

Was this helpful?