Skip to content

Command line utility (+libraries) to convert YAML to JSON.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

nessex/yaml2json-rs

Repository files navigation

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: