#yaml #json #command-line-tool #convert #utility #deserialize #cli

app yaml2json-rs-bin

Command line utility to convert YAML files to JSON

7 releases

0.4.0 Sep 22, 2022
0.3.2 Sep 7, 2021
0.3.1 Jul 25, 2021
0.2.8 Dec 20, 2020
0.2.7 Nov 17, 2020

#1998 in Encoding

29 downloads per month

Apache-2.0 OR MIT

35KB
537 lines

yaml2json-rs

Docker Cloud Build Status GitHub release (latest SemVer) Crates.io

yaml2json-rs converts one or more YAML documents into a JSON stream.

There are many implementations of this idea, with various limitations. This one aims for:

  • Speed
  • Multi-document support
  • Error control
    • selectively silence errors or output errors as JSON

This implementation relies heavily on the existing work in Serde, yaml-rust and others to provide fast and correct serialization and deserialization. In naïve tests, this provided a significant speed improvement over other implementations, though your mileage may vary.

Installation

Download pre-compiled binaries from the Releases Page.

Or, install via cargo:

cargo install yaml2json-rs-bin --bin yaml2json

Or, quickly try it out with docker:

echo "hello: world" | docker run -i nessex/yaml2json-rs:master

Usage

Utility to convert YAML files to JSON

USAGE:
    ./yaml2json file1.yaml file2.yaml

    cat file1.yaml | ./yaml2json

    ./yaml2json --error=json file1.yaml | jq

FLAGS:
    -h, --help       Prints help information
    -p, --pretty     
    -V, --version    Prints version information

OPTIONS:
    -e, --error <error>     [default: stderr]  [possible values: silent, stderr, json]

ARGS:
    <file>...    Specify the path to files you want to convert. You can also pass files via stdin instead.

For best results when dealing with multiple documents, pass multiple files in at once by path:

# Be sure to use + and not \; with find
find . -name '*.yaml' -exec yaml2json {} +

Crates

crate links description
yaml2json-rs-bin A command line utility to convert YAML to JSON
yaml2json-rs yaml2json-rs docs A library wrapping serde-yaml and serde-json to convert a single YAML document to JSON
yaml-split yaml2json-rs docs A library providing an iterator over individual YAML documents within a YAML file or stream

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Support

Please consider supporting the amazing libraries that make this work:

Dependencies

~3–4MB
~82K SLoC