For the complete documentation index, see llms.txt. This page is also available as Markdown.

Working with KYAML

Encode and decode to and from KYaml (a restricted subset of YAML that uses flow-style collections).

KYaml is useful when you want YAML data rendered in a compact, JSON-like form while still supporting YAML features like comments.

Notes:

  • Strings are always double-quoted in KYaml output.

  • Anchors and aliases are expanded (KYaml output does not emit them).

Encode kyaml: plain string scalar

Strings are always double-quoted in KYaml output.

Given a sample.yml file of:

cat

then

yq -o=kyaml '.' sample.yml

will output

"cat"

encode flow mapping and sequence

Given a sample.yml file of:

then

will output

encode non-string scalars

Given a sample.yml file of:

then

will output

quote non-identifier keys

Given a sample.yml file of:

then

will output

escape quoted strings

Given a sample.yml file of:

then

will output

preserve comments when encoding

Given a sample.yml file of:

then

will output

Encode kyaml: anchors and aliases

KYaml output does not support anchors/aliases; they are expanded to concrete values.

Given a sample.yml file of:

then

will output

Encode kyaml: yaml to kyaml shows formatting differences

KYaml uses flow-style collections (braces/brackets) and explicit commas.

Given a sample.yml file of:

then

will output

Encode kyaml: nested lists of objects

Lists and objects can be nested arbitrarily; KYaml always uses flow-style collections.

Given a sample.yml file of:

then

will output

Last updated