それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

jid / json のjq的なクエリをインタラクティブに試せるツール

jid が便利そうなので使ってみた

jid-github

インストール

brew install jid

使ってみる

jid は json を食わせて、その結果から必要なものを絞り込んで調べることができる

試しに使ってみる。

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

TAB で補完

TABキーを使うと候補が絞り込めて楽チン。

f:id:takuya_1st:20180819030947p:plain

検索だけなら jq より便利かも

jq は検索だけでなく、結合や計算や書き換えといった機能が豊富で、高機能すぎるので、どうしても複雑なところがあって直感的じゃない。

なので、このjidだと絞り込みはすごく楽だった。特定の配列をみたい時にはjid を使う方が早い

毎回ゼロからクエリ書くと面倒なので

cat test.json | jid '.info'

このように最初から引数値を与えることで、検索ができるようになっていて素晴らしい。

jq ように出力する

作ったクエリをjq として出したい時は

cat test.json | jid -q '.users'

のように作っておけば、jq に再利用が可能なクエリ文字列が出てきて便利だな。

キーボードの使い方

key description
TAB / CTRL + I Show available items and choice them
Enter 終了
CTRL + W Delete from the cursor to the start of the word
CTRL + U Delete 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 + A To the first character of the 'Filter'
CTRL + E To the end of the 'Filter'
CTRL + J Scroll json buffer 1 line downwards
CTRL + K Scroll json buffer 1 line upwards
CTRL + G Scroll json buffer to bottom
CTRL + T Scroll json buffer to top
CTRL + L Change view mode whole json or keys (only object)
ESC Hide a candidate box

個人的には

個人的には、巨大なJSONファイルって読みにくいしメンテしにくいだけだから嫌いなんだけどなぜかみんな使うし、付き合うのは仕方ないよね。

参考資料

https://www.softantenna.com/wp/review/jid/