explaingit

simeji/jid

7,127GoAudience · developerComplexity · 1/5Setup · easy

TLDR

jid is a command-line tool for exploring JSON data interactively, you pipe JSON into it, type a query, and the matching result updates in real time with tab completion to discover field names as you go.

Mindmap

mindmap
  root((repo))
    What it does
      Interactive JSON explorer
      Real-time filtering
      Terminal tool
    Query styles
      Dot-path notation
      JMESPath queries
      Auto-detection
    Features
      Tab completion
      Function argument hints
      Query history
    Installation
      Homebrew macOS
      Scoop Windows
      Go install command
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Pipe an API response into jid to explore its structure and find the exact path to a nested field using tab completion.

USE CASE 2

Use jid to interactively build a JMESPath query for filtering an array before piping the result to another tool.

USE CASE 3

Explore an unfamiliar JSON config or API payload in real time without reading documentation to learn its structure.

USE CASE 4

Extract a specific value from deeply nested JSON by typing a dot-path query and seeing the result update instantly.

Tech stack

Go

Getting it running

Difficulty · easy Time to first run · 5min
The explanation does not specify the license terms.

In plain English

jid stands for JSON Incremental Digger. It is a small command-line tool that lets you explore JSON data interactively without knowing the exact path you want ahead of time. You pipe JSON into it from another command or a file, and then you type a query while the matching portion of the data appears on screen in real time. When you find what you were looking for, you press Enter and the result is printed to your terminal. The tool supports two query styles. The first is a simple dot-path notation where you write things like .users[0].name to navigate into nested objects and arrays. The second is JMESPath, which is a more expressive query language that supports wildcards, filters, sorting, and function calls. jid detects which style you are using automatically based on what you type. Tab completion is a central feature. While you type a query, pressing Tab shows available field names at the current level and fills them in. You can cycle through candidates forward and backward. When using JMESPath functions, the tool shows usage hints and fills in argument templates for you. This makes it practical for exploring JSON structures you have never seen before. Installation is available through Homebrew on macOS, MacPorts, Scoop on Windows, pkg on FreeBSD, and a number of other package managers. You can also install directly with a single Go command or download a prebuilt binary from the releases page. A TOML configuration file lets you change keybindings, set a custom history file path, control how many past queries are remembered, and adjust whether pressing Enter exits the tool or just confirms a selection. The default behavior is to exit on Enter, but this can be turned off for users who find themselves accidentally closing the tool.

Copy-paste prompts

Prompt 1
I have a large JSON API response. How do I pipe it into jid and use tab completion to find the path to a nested field?
Prompt 2
Show me a JMESPath query I can type in jid to filter an array of objects to only those where the status field equals active.
Prompt 3
How do I install jid on macOS with Homebrew and pipe GitHub API JSON into it to explore the response structure?
Prompt 4
How do I write a jid TOML config file to change the exit keybinding and set a custom history file path?
Open on GitHub → Explain another repo

← simeji on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.