# jid — JSON Incremental Digger for Interactive Exploration > An interactive CLI tool for exploring and filtering JSON data with real-time feedback. Type queries and see results update instantly as you drill into nested structures. ## Install Save as a script file and run: # jid — JSON Incremental Digger for Interactive Exploration ## Quick Use ```bash # Install via Homebrew brew install jid # Pipe JSON into jid for interactive exploration cat data.json | jid # Or fetch from an API curl -s https://api.github.com/repos/simeji/jid | jid ``` ## Introduction jid is a command-line JSON explorer that provides instant visual feedback as you type filter queries. It helps developers navigate complex JSON structures interactively, making it faster to find the right jq-style path. ## What jid Does - Opens an interactive terminal UI for browsing JSON data - Updates the displayed result in real-time as you type a filter expression - Supports dot notation and bracket syntax for navigating nested objects and arrays - Provides tab completion for object keys at each nesting level - Outputs the final query result to stdout for piping to other tools ## Architecture Overview jid is written in Go and uses a custom terminal UI built with the termbox library. It reads JSON input from stdin, parses it into an in-memory tree, and evaluates the user's query incrementally on each keystroke. The rendering engine displays both the query input and the filtered result in a split view. ## Self-Hosting & Configuration - Install via Homebrew, AUR, or `go install github.com/simeji/jid/cmd/jid@latest` - No configuration file needed; works out of the box - Accepts JSON input from stdin or from a file argument - The final selected path is printed to stdout when you press Enter - Works in any terminal that supports basic ANSI escape sequences ## Key Features - Real-time query feedback showing matching results as you type - Tab completion for JSON object keys at any depth - Support for array indexing and filtering - Lightweight single binary with no dependencies - Pipe-friendly output for integration with jq and other tools ## Comparison with Similar Tools - **jq** — batch query tool; jid is interactive with live feedback for discovering paths - **fx** — interactive JSON viewer; jid focuses on incremental query building - **gron** — makes JSON greppable; jid provides a TUI for visual exploration - **jless** — JSON pager; jid combines navigation with query construction - **fq** — binary format querying; jid is specifically designed for JSON data ## FAQ **Q: Can jid handle large JSON files?** A: It loads the entire file into memory, so performance depends on available RAM. For very large files, consider pre-filtering with jq. **Q: Does it support YAML?** A: No. jid is designed specifically for JSON. Convert YAML to JSON first with a tool like yq. **Q: Can I use jq syntax?** A: jid uses a similar dot-notation syntax but does not support the full jq expression language. **Q: How do I get the selected path as a jq filter?** A: Press Enter to output the filtered result. The query you typed is a valid path expression. ## Sources - https://github.com/simeji/jid --- Source: https://tokrepo.com/en/workflows/asset-188ef1c1 Author: Script Depot