convert2json 0.4.4

CLI utilities to convert CSV, TOML, XML & YAML into JSON and for use with jq.
Documentation

convert2json

Utilities for use on the command line, to convert CSV, TOML, XML & YAML to JSON. For each supported format there is a tool for use in a pipe as well as a jq wrapper which passes the converted input or files in the arguments to jq, for further querying and processing.

Usage examples:

$ echo foo: bar | yaml2json
{"foo":"bar"}
$ tq -r .package.description Cargo.toml
CLI utilities to convert CSV, TOML, XML & YAML into JSON on standard output or into jq.

Overview

Goals:

  • provide light-weight converters to JSON
  • provide jq wrappers
  • add support for additional formats having maintained Serde implementations

Non-Goals:

  • converting JSON into other data formats, consider jyt
  • replicating jq, jq must be installed to use the jq wrappers

Alternatives:

To Do:

  • in jq arguments, ignore filenames if preceeded by certain flags (i.e. --from-file)

Feature Matrix

You may not want to install all of the utilities or only a particular one. Each utility can be selected by itself or via group features. If no features are selected, all utilities get installed.

Matrix of all selectable features:

to_json jq
csv csv2json cq
toml toml2json tq
xml xml2json xq
yaml yaml2json yq

Examples:

# install only yq & tq:
cargo install convert2json --no-default-features --features yq,tq
# install all the xml related tools:
cargo install convert2json --no-default-features --features xml