A tool for processing JSON inputs with JavaScript, no dsl!
jq is an awesome tool if you know it well go ahead, use it.
I don't use jq
all the time, and consequently I don't remember its filter DSL syntax, however I do know JavaScript, so it's easier and quicker for me to fire node and do whatever I want.
jsjq
is a convenient way to combine usability of jq
and scripting ability of nodejs.
By default, if no code is passed, jsjq
will pretty print the input json to stdout.
The input json can be accessed in the script with the variable name it
.
```shell jsjq 'it.feeds[0].multiMedia[0]' -f jsonfilewithhierarchy-100-100.json
echo '{"key": "value"}' | jsjq
jsjq 'it[0]' < EmployeeData.json
cat EmployeeData.json | jsjq 'it.map(t => ({name: t.name, age: t.email}))'
-i
flag to include a js filejsjq 'let p = it.map(t => t.password); max(p.map(len))' -i demos/libs.js -f EmployeeData.json ```
If you have rust toolchain installed, you can just do
shell
cargo install js-json-query
Getting rust toolchain is super easy, head over here if you are interested.
Alternatively, you can download pre-build binaries from the release page.
``` Usage: jsjq [