Extend jq for any data format.
Currently supports JSON, TOML, and YAML.
aq can be installed from my personal tap which includes pre-built
binaries.
brew install rossmacarthur/tap/aqaq can be installed from
Crates.io using
Cargo, the Rust package manager.
cargo install aq-cliIn some circumstances this can fail due to the fact that Cargo does not use
Cargo.lock file by default. You can force Cargo to use it using the --locked
option.
cargo install aq-cli --lockedPre-built binaries for macOS (aarch64) are provided. These can be downloaded directly from the the releases page.
Alternatively, the following script can be used to automatically detect your host
system, download the required artifact, and extract the aq binary to the
given directory.
curl --proto '=https' -fLsS https://rossmacarthur.github.io/install/crate.sh \
| bash -s -- --repo rossmacarthur/aq --to ~/.local/binBy default aq behaves just like jq
and operates on JSON.
$ echo '{"foo":{"bar": 1337}}' | aq .foo{
"bar": 1337
}But it also accepts options to specify the input and output format. For example with a TOML input and a JSON output:
$ echo '[foo]\nbar = 1337' | aq -i toml -o json .foo{
"bar": 1337
}If not provided, the output format defaults to the input format. Additionally,
you can use j for JSON, t for TOML, and y for YAML for maximum brevity.
$ echo '[foo]\nbar = 1337' | aq -it .foobar = 1337This project is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.