jq
A JSON processor that uses a domain-specific language (DSL). More information: https://jqlang.github.io/jq/manual/.
- Execute a specific expression only using the
jq
binary (print a colored and formatted JSON output):
jq '.' {{/path/to/file.json}}
- Execute a specific script:
{{cat path/to/file.json}} | jq --from-file {{path/to/script.jq}}
- Pass specific arguments:
{{cat path/to/file.json}} | jq {{--arg "name1" "value1" --arg "name2" "value2" ...}} '{{. + $ARGS.named}}'
- Create new JSON object via old JSON objects from multiple files:
{{cat path/to/multiple_json_file_*.json}} | jq '{{{newKey1: .key1, newKey2: .key2.nestedKey, ...}}}'
- Print specific array items:
{{cat path/to/file.json}} | jq '{{.[index1], .[index2], ...}}'
- Print all array/object values:
{{cat path/to/file.json}} | jq '.[]'
- Print objects with 2-condition filter in array:
{{cat path/to/file.json}} | jq '.[] | select((.key1=="value1") and .key2=="value2")'
- Add/remove specific keys:
{{cat path/to/file.json}} | jq '. {{+|-}} {{{"key1": "value1", "key2": "value2", ...}}}'