JSON フォーマッター & Diff
JSON/JSONCをブラウザで整形・圧縮・比較し、YAMLに変換します。
このツールについて
整形モードはJSONをシンタックスハイライト付きで整形(pretty-print)または圧縮(minify)し、YAMLとして出力することもできます。設定ファイルをフォーマット間で移すときに便利です。入力はJSONCに対応し、コメントと末尾カンマは解析前に除去されるため、tsconfig.jsonやVS Codeの設定をそのまま貼り付けられます。
Diffモードは2つのドキュメントを構造的に比較します。両方を解析してから値ごとに比較するため、キーの順序・空白・コメントの違いは差分として扱われません。各変更はJSONPath形式のパスとともに表示されます。
よくある質問
JSONCとは何ですか?+
JSON with Comments — 標準JSONに //、/* */ コメントと末尾カンマを許可した形式です。tsconfig.jsonやVS Codeの設定などで使われます。厳格なJSON.parseは拒否しますが、このツールは拡張構文を先に除去します。
構造的diffはテキストdiffとどう違いますか?+
テキストdiffは行単位の比較なので、キーの順序変更やインデント変更だけで全体が変わったように見えます。構造的diffは解析済みデータを比較するため、実際の値の変更のみを報告します。設定ファイルやAPIレスポンスの比較には通常こちらが望ましい動作です。
私のJSONはサーバーに送信されますか?+
いいえ。解析・整形・変換・比較はすべてブラウザ内で実行されます。入力は更新後も残るように、ご自身のブラウザのlocalStorageにのみ保存されます。
YAMLに変換すると失われるものはありますか?+
データ自体は無損失で変換されますが、JSONCコメントは解析段階で除去され消えます。'no' や '012' のような文字列を再解釈するYAMLコンシューマもあるので、迷ったら引用符で囲んでください。
ログからコピーしたエスケープ済みJSONも貼り付けられますか?+
はい。{\"a\":1} のような入力(外側の引用符の有無に関わらず、引用符がエスケープされたもの)は自動的にアンエスケープされます。「ネストされたJSONを展開」をオンにすると、文字列値として埋め込まれたJSON — SQSメッセージのbody、event.body、エラーログ内の文字列化されたペイロード — を再帰的に本来の構造へ展開します。