jiq-2.3.1 is not a library.
Visit the last successful build:
jiq-3.21.0
jiq — JSON Interactive Query tool with real-time filtering
Features
- Real-time query execution - See results as you type
- Context-aware autocomplete - Intelligent suggestions for jq functions and JSON fields
- VIM keybindings - VIM-style editing for power users
- Syntax highlighting - Colorized JSON output
- Flexible output - Export results or query string
Installation
Requirements
- jq - JSON processor (installation guide)
Install via Script (macOS/Linux)
|
Install via Homebrew (macOS)
Install via Cargo
Download Binary
Download pre-built binaries from GitHub Releases
Quick Start
# From file
# From stdin
|
|
|
Usage
Workflow:
- Start typing your jq query (begins in INSERT mode)
- Use autocomplete suggestions for functions and fields (
Tabto accept) - See results update in real-time
- Press
Shift+Tabto navigate results - Press
Enterto output results, orShift+Enterto output query
VIM users: Press ESC to enter NORMAL mode for advanced editing.
Keybindings
| Key | Action |
|---|---|
Shift+Tab |
Switch focus between Input and Results |
Enter |
Exit and output filtered JSON |
Shift+Enter |
Exit and output query string only |
q / Ctrl+C |
Quit without output |
| Key | Action |
|---|---|
| Type characters | Edit jq query (real-time execution) |
Tab |
Accept autocomplete suggestion |
↑ / ↓ |
Navigate autocomplete suggestions |
← / → |
Move cursor |
Home / End |
Jump to line start/end |
Backspace / Delete |
Delete characters |
ESC |
Switch to NORMAL mode / Close autocomplete |
Navigation
| Key | Action |
|---|---|
h / ← |
Move left |
l / → |
Move right |
0 / Home |
Line start |
$ / End |
Line end |
w |
Next word start |
b |
Previous word start |
e |
Word end |
Editing
| Key | Action |
|---|---|
i |
Enter INSERT at cursor |
a |
Enter INSERT after cursor |
I |
Enter INSERT at line start |
A |
Enter INSERT at line end |
x |
Delete char at cursor |
X |
Delete char before cursor |
Operators (delete/change + motion)
| Key | Action |
|---|---|
dw / db / de |
Delete word forward/back/end |
d$ / d0 |
Delete to end/start |
dd |
Delete entire line |
D |
Delete to end of line (same as d$) |
cw / cb / ce |
Change word forward/back/end |
c$ / cc |
Change to end/entire line |
C |
Change to end of line (same as c$) |
Undo/Redo
| Key | Action |
|---|---|
u |
Undo |
Ctrl+r |
Redo |
| Key | Action |
|---|---|
j / k / ↑ / ↓ |
Scroll 1 line |
J / K |
Scroll 10 lines |
Ctrl+d / PageDown |
Scroll half page down |
Ctrl+u / PageUp |
Scroll half page up |
g / Home |
Jump to top |
G |
Jump to bottom |
Examples
Filter active users:
|
# Type: .users[] | select(.active == true)
# Press Enter to output results
Extract query for scripts:
|
# Experiment with: .items[] | select(.price > 100) | .name
# Press Shift+Enter to get just the query string
Pipeline integration:
# Build query interactively, then reuse
QUERY= # Press Shift+Enter after building query
|
Tips
- Empty query shows original JSON (identity filter
.) - Autocomplete suggests jq functions, JSON fields, operators, and patterns as you type
- Invalid queries display jq errors in red
- Color-coded modes: Cyan (INSERT), Yellow (NORMAL), Green (OPERATOR)
- Results auto-scroll to top when query changes
License
Dual-licensed under MIT OR Apache-2.0
Contributing
Issues and pull requests welcome at github.com/bellicose100xp/jiq