Skip to main content

jq-json-processor

Process, filter, and transform JSON data using jq - the lightweight and flexible command-line JSON processor.

Source facts

Repository
ThinkfleetAI/thinkfleet-engine
Last source activity
February 1, 2026 at 16:21
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
jq-json-processor
description
Process, filter, and transform JSON data using jq - the lightweight and flexible command-line JSON processor.
homepage
https://jqlang.github.io/jq/
metadata
{"thinkfleetbot":{"emoji":"🔍","requires":{"bins":"[Truncated]"},"install":["[Truncated]","[Truncated]"]}}
# jq JSON Processor Process, filter, and transform JSON data with jq. ## Quick Examples ### Basic filtering ```bash # Extract a field echo '{"name":"Alice","age":30}' | jq '.name' # Output: "Alice" # Multiple fields echo '{"name":"Alice","age":30}' | jq '{name: .name, age: .age}' # Array indexing echo '[1,2,3,4,5]' | jq '.[2]' # Output: 3 ``` ### Working with arrays ```bash # Map over array echo '[{"name":"Alice"},{"name":"Bob"}]' | jq '.[].name' # Output: "Alice" "Bob" # Filter array echo '[1,2,3,4,5]' | jq 'map(select(. > 2))' # Output: [3,4,5] # Length echo '[1,2,3]' | jq 'length' # Output: 3 ``` ### Common operations ```bash # Pretty print JSON cat file.json | jq '.' # Compact output cat file.json | jq -c '.' # Raw output (no quotes) echo '{"name":"Alice"}' | jq -r '.name' # Output: Alice # Sort keys echo '{"z":1,"a":2}' | jq -S '.' ``` ### Advanced filtering ```bash # Select with conditions jq '[.[] | select(.age > 25)]' people.json # Group by jq 'group_by(.category)' items.json # Reduce echo '[1,2,3,4,5]' | jq 'reduce .[] as $item (0; . + $item)' # Output: 15 ``` ### Working with files ```bash # Read from file jq '.users[0].name' users.json # Multiple files jq -s '.[0] * .[1]' file1.json file2.json # Modify and save jq '.version = "2.0"' package.json > package.json.tmp && mv package.json.tmp package.json ``` ## Common Use Cases **Extract specific fields from API response:** ```bash curl -s https://api.github.com/users/octocat | jq '{name: .name, repos: .public_repos, followers: .followers}' ``` **Convert CSV-like data:** ```bash jq -r '.[] | [.name, .email, .age] | @csv' users.json ``` **Debug API responses:** ```bash curl -s https://api.example.com/data | jq '.' ``` ## Tips - Use `-r` for raw string output (removes quotes) - Use `-c` for compact output (single line) - Use `-S` to sort object keys - Use `--arg name value` to pass variables - Pipe multiple jq operations: `jq '.a' | jq '.b'` ## Documentation Full manual: https://jqlang.github.io/jq/manual/ Interactive tutorial: https://jqplay.org/
View on GitHub