jless:5.4k⭐のターミナル JSON ビューアー
コマンドラインで JSON データを扱う際、よくある問題は出力が長すぎて読みにくいこと、または jq で複雑なクエリを書かないと必要な情報を抽出できないことです。jless はこの問題を解決するために生まれたターミナル向け JSON ビューアーです。
プロジェクト概要
| 属性 | 内容 |
|---|---|
| GitHub | PaulJuliusMartinez/jless |
| Stars | 5.4k |
| 言語 | Rust |
| 特徴 | インタラクティブブラウジング、Vim キーバインド、リアルタイム検索 |
| 最終更新 | 2日前 |
解決する問題
数 MB の JSON ファイルに直面したとき、従来の方法は cat で直接出力すると画面がスクロールしまくるか、jq '.' で整形出力しても、関心のあるフィールドに素早く到達できません。jless は JSON をインタラクティブに閲覧できる構造化ドキュメントに変えます。テキストファイルに対する less コマンドと同じような役割を、JSON 専用に最適化して提供します。
核心機能
インタラクティブなツリー表示
jless は JSON を折りたたみ可能なツリー構造で表示し、方向キーでノードの展開や折りたたみができ、データの階層関係を直感的に理解できます。
Vim 風キーバインド
Vim に慣れている人には馴染み深いキーバインドです:j/k で上下移動、h/l で展開/折りたたみ、gg で先頭に戻る、G で末尾にジャンプ。学習コストはほぼゼロです。
強力な検索機能
/ で検索モードに入り、正規表現にも対応。さらに便利なのは、検索結果がハイライト表示され、マッチする内容を含むノードが自動的に展開される点です。手動で階層を展開する必要がありません。
データパス表示
画面下部には、カーソル位置の JSONPath(例:.users[3].name)がリアルタイムで表示されます。これは jq クエリやコードを書く際にフィールドを特定するのに非常に役立ちます。
行番号モード
行番号表示に切り替え可能で、grep -n などの他のツールとの連携が容易になります。
クイックスタート
# macOS
brew install jless
# Arch Linux
yay -S jless
# ソースからインストール
cargo install jless
基本的な使い方:
# ファイルを表示
jless data.json
# パイプと組み合わせる
curl -s https://api.example.com/data | jless
# 特定のパスを表示
echo '{"users": [{"name": "Alice"}]}' | jless
よく使うショートカット:
j/kまたは↓/↑:上下移動h/lまたは←/→:折りたたみ/展開/:検索n/N:次/前のマッチq:終了y:現在のパスをクリップボードにコピー
類似ツールとの比較
| ツール | Stars | 特徴 |
|---|---|---|
| fx | 20.4k | JavaScript スクリプト対応、機能が豊富 |
| jq | 30k+ | データ処理能力が高いが非インタラクティブ |
| jless | 5.4k | 純粋な閲覧体験、学習コストゼロ |
JSON データの表示と探索だけが必要な場合、jless の特化性が最も効率的な選択となります。fx は複雑なデータ変換が必要な場面に適しており、jq は JSON 処理のスイスアーミーナイフです。
使用シーン
- API デバッグ:インターフェースが返す JSON 構造を確認し、フィールドを素早く特定
- ログ分析:構造化ログファイルを閲覧し、時間やレベルでフィルタリング
- 設定ファイル確認:複雑な JSON 設定を確認し、その構造を理解
- データ探索:初めて触れる JSON データセットに素早く理解を深める
制限事項
- 読み取り専用ツールで、JSON 内容の編集は不可
- YAML や他の形式には非対応(他ツールで変換が必要)
- 超大容量ファイル(数百 MB)ではパフォーマンスが低下
まとめ
jless は”集中”を極限まで追求したツールです。万能な JSON プロセッサーを目指すのではなく、“表示”という単一のシーンを最高レベルに仕上げています。ターミナルで頻繁に JSON データを扱うなら、常備ツールとしての価値は十分です。
| 属性 | 内容 |
|---|---|
| リポジトリ | https://github.com/PaulJuliusMartinez/jless |
| ライセンス | MIT |
| 言語 | Rust |
| メンテナ | @PaulJuliusMartinez |
| 公式サイト | https://jless.io |