Simple command line tool to convert a YAML input file into a JSON output file.
$ yj --help
yj 1.2.0
Command line tool that converts YAML to JSON
USAGE:
yj [FLAGS] [OPTIONS] [INPUT]
ARGS:
<INPUT> Input YAML file name. Defaults to stdin
FLAGS:
-c, --compact Use compact formatting for the JSON output
-h, --help Print help information
-j, --json Parse the input as JSON. For most use cases, this option
makes no difference. Valid JSON is valid YAML, so JSON
input will (should?) parse correctly even when being
handled with the YAML parser. Use this option when you
want failure (instead of weird results) when the input is
invalid JSON
-V, --version Print version information
-y, --yaml Format the output as YAML instead of JSON
OPTIONS:
-o, --output <OUTPUT> Output file name for the JSON. Defaults to stdout
Local build and install with cargo
:
$ cargo install yj
Prebuilt binaries are available on Github releases for some common platforms.
On macOS, the prebuilt binary can be installed using
Homebrew. Unfortunately, Homebrew picked up a
different utility with the name yj
after I chose that name here.
So, a simple brew install yj
gets that tool, not this one 😞.
$ brew tap bruceadams/utilities
$ brew install bruceadams/utilities/yj
Alternatively on macOS, you may also install yj
using MacPorts:
$ sudo port selfupdate
$ sudo port install yj
Minimal Docker images are available on Docker Hub:
$ docker pull bruceadams/yj
$ cat .travis.yml
language: rust
os:
- linux
- osx
- windows
rust:
- stable
- beta
- nightly
matrix:
allow_failures:
- rust: nightly
fast_finish: true
$ yj .travis.yml
{
"language": "rust",
"os": [
"linux",
"osx",
"windows"
],
"rust": [
"stable",
"beta",
"nightly"
],
"matrix": {
"allow_failures": [
{
"rust": "nightly"
}
],
"fast_finish": true
}
}
$ echo pi: 3.1415926 | yj
{
"pi": 3.1415926
}
$ echo pi: 3.1415926 | yj -c
{"pi":3.1415926}$
Build it your self with Rust 2018, which needs a recent installation of Rust. Get Rust installed from https://rustup.rs/.
cargo build