APIが200行分のJSONレスポンスを1行に圧縮して返してきます。ネストされたフィールドを1つ見つけたいだけなのに、コピーしてブラウザのタブを開き、数あるJSONフォーマッターサイトの1つに移動し、貼り付けて「Format」をクリックし、出力を目を細めて眺めることになります。そのJSONにトークンやユーザーデータ、社内IDなど機密性のある情報が含まれていれば、それをそのままサードパーティのサーバーに送信したことになります。
これはソフトウェア開発で最もよくある細々とした作業の1つであり、ほとんどの開発者がこれを最も非効率な方法で処理しています。
ターミナルによるアプローチ
macOSにはpython3が同梱されているため、ターミナルでpython3 -m json.toolにJSONをパイプすることができます。整った形式の入力であれば機能しますが、末尾のカンマでつまずいたり、不正なJSONに対して謎めいたエラーメッセージを出したりし、出力はターミナルウィンドウの中に閉じ込められたままです。シンタックスハイライトも折りたたみ可能なノードもなく、ネストされたパスを素早くコピーする方法もありません。
Homebrew経由でjqをインストールする開発者もいますが、これはより強力な反面、新たな依存関係が増え、基本的な整形以上のことをするにはクエリ構文を学ぶ必要があります。
あなたのMacに常駐するネイティブJSONフォーマッター
Bellowsには、41個の組み込み開発者ツールの1つとしてJSONフォーマッターが含まれています。入力ペインにJSONを貼り付けるか入力するだけで、整形された読みやすい出力が即座に得られます。ネットワーク接続は不要——すべてMac上でローカルに実行されます。
クリップボード検出
JSON文字列をクリップボードにコピーしてBellowsを開くと、アプリがJSONコンテンツを検出し、自動的にフォーマッターを提案します。メニューをたどる必要はなく、必要なツールがすでに用意されています。
より大きなツールキットの一部
JSONの整形が単独で発生することはほとんどありません。JSONを取得するためにBase64文字列をデコードしたり、JSONを含むJWTペイロードを抽出したり、JSONオブジェクトを保持するクエリパラメータをURLデコードしたりする必要があるかもしれません。1つのアプリに41個のツールが揃っているため、異なるユーティリティ間を切り替えることなく、これらの操作を連続して行えます。
最も必要になる瞬間
夜11時にウェブフックのペイロードをデバッグしているとき。同僚がSlackに貼り付けた設定ファイルを確認しているとき。Core Dataのエクスポートを検証しているとき。テストを書く前にモックレスポンスの構造を確認しているとき。こうした瞬間こそ、ブラウザのタブに手を伸ばすのが最も億劫に感じられ、メニューバーのネイティブアプリが最も大きな違いを生む場面です。