jless - コマンドライン JSON ビューアー チートシート
jless は高速で読み取り専用の JSON(および YAML)データをターミナルで見るビューアー。生出力を less または jq にパイプして括弧の壁をスクロールする代わりに、折りたたみ可能なツリーを構文ハイライトして、Vim のようなキーでナビゲート、深くネストされた構造を折りたたみ、検索。API レスポンス、設定ファイル、大規模な JSON ドキュメントをすばやく探索するために目的構築。
インストール
| プラットフォーム | コマンド |
|---|
| Cargo(全プラットフォーム) | cargo install jless |
| macOS(Homebrew) | brew install jless |
| Arch Linux | sudo pacman -S jless |
| Nix | nix-env -iA nixpkgs.jless |
| バイナリ | GitHub Releases ページからダウンロード |
| 確認 | jless --version |
データを開く
| コマンド | 説明 |
|---|
jless data.json | JSON ファイルを開く |
cat data.json | jless | stdin から JSON をパイプ |
curl -s URL | jless | API レスポンスを探索 |
jless --yaml config.yaml | YAML ファイルを開く |
jless --mode line data.json | ラインモードで開始(raw ような) |
jless --help | 完全なオプションリスト |
ムーブメント
| キー | アクション |
|---|
j / k | 下 / 上 |
h / l | 折りたたみ / 展開(または親/子に移動) |
g / G | トップ / ボトムに移動 |
Ctrl+f / Ctrl+b | ページ下 / 上 |
Ctrl+d / Ctrl+u | ハーフページ下 / 上 |
J / K | 次/前の兄弟に移動 |
Enter | 現在のノードの展開/折りたたみを切り替え |
折りたたみ & ビュー
| キー | アクション |
|---|
Space | 現在のノードを折りたたみ / 展開 |
c | 全ての兄弟を折りたたみ |
e | すべての子を再帰的に展開 |
E | 全てを展開 |
C | 深く折りたたみ |
Tab(モード) | データモードとラインモード間を切り替え |
% | マッチングブラケットにジャンプ |
検索
| キー | アクション |
|---|
/pattern | 前方検索 |
?pattern | 後方検索 |
n / N | 次 / 前のマッチ |
* | 現在のキーを検索 |
| 検索は regex | パターンが正規表現をサポート |
パス & 値を操作
| キー | アクション |
|---|
y その後 y | ヤンク(コピー)カーソルの下の値 |
y その後 p | 現在のノードへのパスをヤンク(例:.users[0].name) |
y その後 v | 値をヤンク |
y その後 k | 現在のキーをヤンク |
. | 現在のノードのフルパスを表示 |
ヤンキングパスは特に便利:ビューで視覚的にフィールドにナビゲート、その後 jq スタイルパスをスクリプトにペースト。
一般的なワークフロー
# 大きな API レスポンスを括弧で溺れずに探索
curl -s https://api.example.com/data | jless
# 設定を検査、設定へのもう一つの正確なパスをコピー
jless config.json # ナビゲート、yy/yp で値またはパスを取得
# JSON と同じように YAML を参照
jless --yaml docker-compose.yaml
# jq とペアリング:最初にフィルタ、次に結果を対話的に探索
jq '.items' big.json | jless
jless vs その他の JSON ツール
| 側面 | jless | jq | fx |
|---|
| モード | インタラクティブビューアー | クエリ/変換 | インタラクティブ + JS |
| 編集/変換 | いいえ(読み取り専用) | はい | はい |
| 折りたたみツリー UI | はい | いいえ | はい |
| パスヤンク | はい | N/A | はい |
| 最適用途 | 探索/検査 | スクリプト変換 | 探索 + 変換 |
jless は設計上読み取り専用 — フィルタリングおよび変換については、最初に jq を通じてパイプ、次に jless で結果を探索。
リソース