pick_json v2.0.5
pick_json
Cross-platform command line utility to extract and/or evaluate json. No weird new language or syntax; just use basic javascript notation in your one-liners. Pipe data into it as part of script chain or read from a file. Honey Badger doesn't care.
Options
Usage: pick_json [options]
Options:
-h, --help output usage information
-V, --version output the version number
-k, --keys Just output the keys. Will output the root keys if no expression is given
-e, --exp <expression> Expression to filter the json. Must start with an attribute or index
-f, --file <file> Use <file> instead of standard input
-v, --verbose Verbose errors
Example
$ echo '[ { "bar" : 42 } ]' | pick_json -e "[0].bar > 40" #returns true
Installation
Assumes you have Node installed
npm install -g pick_json
Examples
We are using the following json data file as input data in the examples. You can find it in the test
directory
{
"redis": {
"connected": true,
"ready": true,
"connections": 1,
"commandsSent": 9,
"commandQueue": {
"tail": [],
"head": [],
"offset": 0
}
},
"error_codes" : [2001, 4004]
}
Picking from an array
pick_json -e error_codes[1] test/example.json
returns 4004
Picking from a nested structure
pick_json -e redis.connected test/example.json
returns true
Filtering data
Remember, the expr
can be any valid expression operating on the data
pick_json -e "error_data.filter(err => err > 3000)" data.json
returns [4004]
When receiving an array
echo [ { "bar" : 42 } ] | pick_cli [0].bar
returns 42
Extracting data from a http service
Use curl to extract the data and pipe it into pick_json
curl -s mysite.com/service.json | pick_json -e stats.uptime
8 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago