Convert between YAML, TOML, JSON, and HCL.
Preserves map order.
- YAML: v1.2 (gopkg.in/yaml.v3)
- TOML: v1.0.0 (github.com/BurntSushi/toml)
- JSON: RFC 7159 (encoding/json)
- HCL: v1 (github.com/hashicorp/hcl)
$ yj -h Usage: yj [-][ytjcrneikhv] Convert between YAML, TOML, JSON, and HCL. Preserves map order. -x[x] Convert using stdin. Valid options: -yj, -y = YAML to JSON (default) -yy = YAML to YAML -yt = YAML to TOML -yc = YAML to HCL -tj, -t = TOML to JSON -ty = TOML to YAML -tt = TOML to TOML -tc = TOML to HCL -jj = JSON to JSON -jy, -r = JSON to YAML -jt = JSON to TOML -jc = JSON to HCL -cy = HCL to YAML -ct = HCL to TOML -cj, -c = HCL to JSON -cc = HCL to HCL -n Do not covert inf, -inf, and NaN to/from strings (YAML or TOML only) -e Escape HTML (JSON out only) -i Indent output (JSON or TOML out only) -k Attempt to parse keys as objects or numeric types (YAML out only) -h Show this help message -v Show version
yj CLI is available via Homebrew:
brew install yj
Binaries for macOS, Linux, and Windows are attached to each release.
yj is also available as a Docker image.
Packages contained in this repo may also be used to convert all supported data formats to a normalized tree of ordered Go objects.
See godoc for details.
NOTE: The current Go API should not be considered stable.