Home

Awesome

jid

Circle CI

Json Incremental Digger

It's a very simple tool.
You can drill down JSON interactively by using filtering queries like jq.

Suggestion and Auto completion of this tool will provide you a very comfortable JSON drill down.

Demo

demo-jid-main

Installation

With HomeBrew (for macOS)

brew install jid

With MacPorts (for macOS)

sudo port install jid

With pkg (for FreeBSD)

pkg install jid

With scoop (for Windows)

scoop install jid

Other package management systems

Jid can install by package management systems of below OS.

Packaging status

Simply use "jid" command

If you simply want to use jid command, please download binary from below.

https://github.com/simeji/jid/releases

Build

go install github.com/simeji/jid/cmd/jid@latest

Usage

Quick start

simple json example

Please execute the below command.

echo '{"aa":"2AA2","bb":{"aaa":[123,"cccc",[1,2]],"c":321}}'| jid

then, jid will be running.

You can dig JSON data incrementally.

When you enter .bb.aaa[2], you will see the following.

[Filter]> .bb.aaa[2]
[
  1,
  2
]

Then, you press Enter key and output [1,2] and exit.

simple json example2

This json is used by demo section.

echo '{"info":{"date":"2016-10-23","version":1.0},"users":[{"name":"simeji","uri":"https://github.com/simeji","id":1},{"name":"simeji2","uri":"https://example.com/simeji","id":2},{"name":"simeji3","uri":"https://example.com/simeji3","id":3}],"userCount":3}}'|jid

With a initial query

First argument of jid is initial query. (Use JSON same as Demo)

demo-jid-with-query

with curl

Sample for using RDAP data.

curl -s http://rdg.afilias.info/rdap/domain/example.info | jid

Load JSON from a file

jid < file.json

Keymaps

keydescription
TAB / CTRL + IShow available items and choice them
CTRL + WDelete from the cursor to the start of the word
CTRL + UDelete whole query
CTRL + F / Right Arrow (:arrow_right:)Move cursor a character to the right
CTRL + B / Left Arrow (:arrow_left:)Move cursor a character to the left
CTRL + ATo the first character of the 'Filter'
CTRL + ETo the end of the 'Filter'
CTRL + JScroll json buffer 1 line downwards
CTRL + KScroll json buffer 1 line upwards
CTRL + GScroll json buffer to bottom
CTRL + TScroll json buffer to top
CTRL + NScroll json buffer 'Page Down'
CTRL + PScroll json buffer 'Page Up'
CTRL + LChange view mode whole json or keys (only object)
ESCHide a candidate box

Option

optiondescription
First argument ($1)Initial query
-hprint a help
-helpprint a help
-versionprint the version and exit
-qOutput query mode (for jq)
-Mmonochrome output mode