JSONフォーマッター&バリデーター

JSONを下に貼り付けて整形、検証、または圧縮します。インデントレベルを選択できます。すべての処理はブラウザ内でローカルに行われます。

コピーしました!

JSONとは?

JSON(JavaScript Object Notation)は、人間が読み書きしやすく、機械が解析生成しやすい軽量なデータ交換フォーマットです。オブジェクト、配列、文字列、数値、真偽値、null値をサポートしています。

フォーマット(整形)はインデントを追加してJSONを読みやすくし、ミニファイはすべての不要な空白を削除してペイロードサイズを小さくします。

解析に失敗したとき、メッセージだけでは手がかりになりません。そこでこのページは報告された位置から行と桁を割り出し、該当する行とその真下のキャレットを表示します。ゆるい設定はまずコメントと末尾のカンマを取り除きます。これがあるからこそ tsconfig やエディターの設定ファイルをここで扱えます。キーを並べ替えれば 2 つの文書を差分で比較でき、ASCII の設定は素の ASCII を超える文字をすべてエスケープするので、それ以外を壊す経路でも通ります。

またデータを手作業で整えていませんか

毎回ブラウザーのタブで直しているペイロードは、本来コードの仕事です。当社はシステム間でデータを運ぶ連携、パーサー、サービスを構築し、途中で静かにデータを壊しているものを修復します。

何を移しているか教えてください

よくある質問

位置を示すメッセージで失敗するのはなぜですか
JSON はエラーを文字位置で報告しますが、長いファイルではそれだけでは役に立ちません。このページはその位置を行と桁に直し、該当行と問題の箇所を指すキャレットを表示するので、すぐそこへ行けます。
tsconfig やエディターの設定ファイルも読めますか
はい。ゆるい設定を有効にしてください。それらのファイルはコメントと末尾のカンマを使いますが、これは JSON ではありません。ページは解析前に取り除き、その旨を知らせます。出てくるのはどんな解析器でも受け付ける素の JSON です。
長い ID の数値が変わってしまったのはなぜですか
JSON の数値は double として解析され、およそ 16 桁を超えると精度を失うからです。大きなデータベース識別子は丸められた状態で届き、どんな整形ツールでも元には戻せません。ページは見つけると警告します。対処は、そうした識別子を文字列で持つことです。
キーを並べ替える設定は何のためですか
2 つの文書を比べるためです。同じデータでもキーの順序が違えば差分は雑音だらけになりますが、両方を並べ替えれば本当の違いが見えます。並べ替えは最上位だけでなくすべての階層に及びます。
入力したデータはどこかにアップロードされますか
いいえ。解析も整形もブラウザー自身の JSON 機能で行われます。どこにも送信されません。整形ツールに貼られるファイルは、たいてい共有したくないシステムの設定や API 応答なので、この点は重要です。