JSONフォーマッタ・バリデーター
JSONを貼り付けると、ツリー表示またはテキストとしてリアルタイムで検証・整形されます。エラーは「無効なJSON」とだけ表示するのではなく、正確な行と列を示します。
仕組み
検証にはJSON.parseを使用します。これはブラウザやNode.jsが実行時に使うのと同じネイティブパーサーなので、ここで通ったものは本番環境でも確実にパースされます。類似文法による近似ではありません。パースに失敗すると、エンジンは行番号と列番号を直接返すか、あるいは生の文字位置だけを返します。後者の場合、このツールは入力をその位置まで切り出し、改行数を数えることでエラーボックスに表示する行・列番号に変換しています。
ツリー表示はパース済みの値を再帰的にたどり、折りたたみ可能なノードとして構築されます。300件を超える要素を持つオブジェクトや配列は、表示上のみ省略されます(コピーやダウンロードされる出力では省略されません)。これにより、数メガバイトのAPIレスポンスでもスクロール可能な状態を保てます。エンジンを経由することの副作用として知っておくべき点があります。数値はJavaScriptの64ビット浮動小数点数として再シリアライズされるため、1e2は100に、0.50は0.5にといった見た目の表記が正規化されます。また2の53乗を超える整数、たとえば19桁のデータベースIDやTwitter形式のIDでは、末尾の桁が静かに失われることがあります。そのような大きなIDを含むJSONを扱う場合は、整形前に文字列型として保持してください。
パース、整形、圧縮はすべて、キーを押すたびにこのページ自身のJavaScriptで処理されます。開発者ツールの「ネットワーク」タブを開いて実際のAPIレスポンスを貼り付けて確認できます。トークンや顧客データを含むペイロードを貼り付けても安全な理由です。