2016-12-21 23:40:12 +00:00
|
|
|
# jq
|
|
|
|
|
|
|
|
> A lightweight and flexible command-line JSON processor.
|
2019-06-05 08:55:42 +01:00
|
|
|
> More information: <https://stedolan.github.io/jq>.
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2017-05-04 09:35:38 +01:00
|
|
|
- Output a JSON file, in pretty-print format:
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2018-04-13 19:04:03 +01:00
|
|
|
`jq . {{file.json}}`
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2017-05-04 09:35:38 +01:00
|
|
|
- Output all elements from arrays (or all key-value pairs from objects) in a JSON file:
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2019-06-27 10:08:39 +01:00
|
|
|
`jq '.[]' {{file.json}}`
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2017-05-04 09:35:38 +01:00
|
|
|
- Read JSON objects from a file into an array, and output it (inverse of `jq .[]`):
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2018-04-13 19:04:03 +01:00
|
|
|
`jq --slurp . {{file.json}}`
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2017-05-04 09:35:38 +01:00
|
|
|
- Output the first element in a JSON file:
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2019-06-27 10:08:39 +01:00
|
|
|
`jq '.[0]' {{file.json}}`
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2019-06-17 16:00:38 +01:00
|
|
|
- Output the value of a given key of the first element in a JSON text from `stdin`:
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2019-06-27 10:08:39 +01:00
|
|
|
`cat {{file.json}} | jq '.[0].{{key_name}}'`
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2019-06-17 16:00:38 +01:00
|
|
|
- Output the value of a given key of each element in a JSON text from `stdin`:
|
2016-12-21 23:40:12 +00:00
|
|
|
|
2018-04-13 19:04:03 +01:00
|
|
|
`cat {{file.json}} | jq 'map(.{{key_name}})'`
|
2019-04-17 15:55:23 +01:00
|
|
|
|
|
|
|
- Combine multiple filters:
|
|
|
|
|
2019-04-18 06:45:39 +01:00
|
|
|
`cat {{file.json}} | jq 'unique | sort | reverse'`
|
2019-04-22 21:22:29 +01:00
|
|
|
|
|
|
|
- Output the value of a given key to a string (and disable JSON output):
|
|
|
|
|
|
|
|
`cat {{file.json}} | jq --raw-output '"some text: \(.{{key_name}})"'`
|