整形・検証ツール
構造化データの整形・検証・比較を行うツール群です。処理はすべてブラウザ内で完結するため、データが送信されることはありません。
- XML整形ツールXMLを貼り付けると、読みやすくインデントしたり1行に圧縮したりでき、整形式かどうかも確認できます。エラーは正確な行と列を示します。処理はすべてブラウザ内で行われ、データが送信されることはありません。
- YAML検証ツールYAMLを貼り付けて構文を検証し、JSONに変換します。方向を切り替えればJSONからYAMLへも変換できます。エラーは行と列を指して報告されます。解析はすべてブラウザ内で行われるため、シークレットを含むマニフェストが送信されることはありません。
- JSON整形ツールJSONを貼り付けるだけで、すぐに整形と検証ができます。処理はすべてブラウザ内で完結するため、データがサーバーに送信されることはありません。
- JSON比較ツール2つのJSONを貼り付けると、追加・削除・変更された値をパスごとに一覧表示します。キーの順序は無視されるため、実際の差分だけが報告されます。
- JSON文字列化ツールJSONをコードに貼り付けられるエスケープ済み文字列に変換したり、エスケープされた文字列を読みやすいJSONに戻したりできます。
整形ツールの選び方
JSON整形ツールはペイロードのインデント、圧縮、構造の確認に、JSON比較ツールは同じはずの2つのレスポンスが食い違うときに、JSON文字列化ツールはドキュメントを別のドキュメントに文字列として埋め込むときに使います。
YAML検証ツールは設定ファイル向けで、問題になるのは構文よりインデントと暗黙の型変換です。XML整形ツールは文書やSOAPのペイロード向けで、混合内容では空白がデータの一部になることがあります。
正規表現ではなく本物のパーサー
このカテゴリーのツールはいずれも、何かを出力する前にドキュメントをきちんと解析します。だからこそ、「どこかがおかしい」ではなく、入力のどの行・どの列で妥当でなくなったのかを指し示せます。ここできれいに整形できたドキュメントが、自分の使う言語のパーサーでも読み込めるのも同じ理由です。
その代わり厳格です。これらのパーサーは、一部のライブラリが加えている寛容な挙動ではなく仕様に従うので、末尾のカンマ、インデントに使われたタブ、エスケープされていないアンパサンドは、あなたの環境の特定のツールが受け入れていたとしても、ここではエラーになります。
整形が書き換えるのはバイト列で、意味ではない(ただし例外あり)
ドキュメントをインデントするとは、解析して書き出し直すことであり、その過程でいくつかの点が正規化されます。JSONでは重複したキーが1つにまとまり、非常に大きな整数は精度を失います。YAMLではアンカーが展開され、変換するとコメントが消えます。XMLでは属性の順序とコメントは保たれますが、混合内容の中の空白はデータなので、あえて手を触れません。
デバッガーでペイロードを読むだけなら、どれも問題になりません。しかし整形した出力をそのままコミットするなら話は別です。ドキュメントが正となるものなら、コピーを整形し、置き換える前に元のファイルと差分を取ってください。
どの形式をどこで使うか
JSONはデータ交換の既定です。コメントがなく、型の曖昧さもなく、パーサーはどこにでもあります。YAMLが本領を発揮するのは設定ファイルで、コメントや再利用が意味を持ち、人が手で編集する場面です。XMLは、スキーマ、名前空間、署名が取り決めの一部になっている場所に残っており、企業や行政のシステム連携の多くがこれにあたります。
相互の変換はたいてい無償ではありません。JSONはYAMLのアンカーから何も得られず、コメントを失います。XMLの属性にはJSONでの自然な対応物がなく、変換ツールごとに独自の流儀を作っています。変換するのは、受け取る側のシステムがそれを求めるときであって、ファイルを整えるためではありません。
