ActiveJson CLI
Format, query, and pluck data from JSON response files from the command line.
Installation
$ gem install active_json_cli
Usage
example.json
[
{
"drink_name": "latte",
"prices": { "small": 3.5, "medium": 4.0, "large": 4.5 },
}
]
Command breakdown
$ gem command + json_path + query filter(s)
Filtering:
Filter JSON content with the where keyword followed by an attribute comparison filter (== != <= >= < >).
For example running the following command...
$ active_json example.json where: 'drink_name == "latte"'
...will return all entries whose drink_name keyword is "latte"
If the JSON contains nested content you are able to query it as well:
$ active_json example.json where: 'prices.small >= 3.5'
You are able chain any number of filters:
$ active_json example.json where: 'drink_name == "latte", prices.small <= 3.5'
You can also compare attributes with one another:
$ active_json example.json where: 'prices.small >= prices.large'
Running the command without a where filter will return all JSON entries.
Plucking:
If you would rather return a particular attribute rather than the whole entry you can use the pluck keyword to only return a specified attribute. Running...
$ active_json example.json where: 'drink_name == "latte"' pluck: prices.small
...will return the prices.small attribute of all the entries whose drink_name keyword is "latte"
Likewise running the pluck command without a where filter will return the specified attributes of all JSON entries.