JSONフォーマット
JSONデータ(圧縮済み、エスケープ処理済み、またはログ行そのまま)を貼り付けると、選択したインデントサイズで美しく表示されます。解析時に検証を行い、エラーが発生した場合にその正確な行と列を示します。オプションとしてオブジェクトキーをアルファベット順に並べ替えることができ、2つのAPI応答間の差異をより容易に読むことができます。
JSONの書式設定方法
-
1
JSONを貼り付けます
小型化されたり、文字列内に含まれていたり、JSONPコールバックに包まれていたりしても、パーサはすべてを抽出します。
-
2
インデントの選択範囲を指定します
2スペース、4スペース、タブ、またはコンパクト(小型ペイロード用の単行)
-
3
並べ替えキーを切り替えます
オブジェクトキーをアルファベット順に並べると、2つの応答を比較・比較しやすくなります。
-
4
コピーまたはダウンロード
ワンクリックでクリップボードにコピーするか、`.json`ファイルとして保存します。
フォーマット化ツールが処理する内容
- 最小化された入力:
{"a":1,"b":[1,2,3]}が適切にインデントされます。 - 文字列内の escaped JSON:
"{\"nested\":true}"を含むJSON文字列は、アンワープアして書式設定することができる。 - JSONPコールバック:
callback({...})は{...}に簡略化されています。 - BOMおよび先頭の空白領域:自動的に削除されます。
- コメント:JSONC形式の
//および/* */は「緩やかな」モードでは許容されるが、出力からは削除される(厳格なJSON形式にはコメントは含まれない)。
なぜ PrettyPrint JSONを選ぶのか
- Diffing:数千のキーを含む単一行のJSONドキュメントは、
git diffでは読み込めません。各キーは明確に印刷されており、それぞれが独立した行として表示されます。 - デバッグ:ネストされた構造はインデントにより視覚的にナビゲートしやすくなります。
- ドキュメント:APIの例は常に適切な形式で整理され、リリースの変更に伴って一貫して安定した状態を維持する必要があります。
- _configs: JSON形式の設定ファイルは可読性を考慮してリポジトリ内にプレーンテキストで表示されるべきであり、実行時環境ではどちらの形式でも解析可能である。
穴字の規則
| コンテキスト | 通常のインデント |
|---|---|
npm package.json |
2つのスペース |
| AWS CloudFormation | 2つのスペース |
| レガシーバージョンのJava/.NET | 4スペース |
| VCS内の設定 | 2つのスペース(プロジェクト全体での一貫性が最も重要) |
キーの並べ替えは論争の的です。差異変更をより整理された形にすると同時に、標準設定ファイルのディスク上の順序が変化します。プロジェクトごとに統一された規則を選定し、それを守ってください。
ご確認ください:検証エラー
| エラー | 純粋化 |
|---|---|
Unexpected token ' at position X |
単引数引用符を使用しました;二重引用符に変更してください |
Unexpected end of JSON input |
結末の括弧またはキャッピングが欠けている |
Unexpected token , at position X |
続く逗点;削除します |
Unexpected token a at position X |
配列のキーワードまたはNaN/undefinedの文字列 |
Duplicate key "foo"(緩やかなモード) |
JSON仕様では対応可能であり、ほとんどのパーサーは最後の値を保持します |
常見の誤り
- HTMLエンティティを含むJSONのコピー。
"は解析できません。まずデコードしてください。 - **厳格な解析と緩やかな解析を組み合わせる。**緩やかな解析は検査時にのみ使用し、決して緩やかなJSONを本番環境の設定ファイルに保存しないでください。
- 既にペイントされたファイルを別のスタイルで再ペイントする場合。フォーマット化ツールは問題なく処理しますが、差異情報が複雑になる可能性があります。
よくある質問
いいえ、解析と書式設定はどちらもブラウザ内で実行されます。コンテンツはタブから一度も退出しません——トークン、内部設定、またはステージングペイロードを含むAPI応答の貼り付けに安全です。
フォーマット化ツールは有効なJSONを美しく印刷します。検証ツールはJSONスキーマに基づいて検査を行います。両者は解析チェックを実行しますが、検証は「これは有効なJSONですか?」という単純な判断ではなく、「これが私のスキーマに合致しているか?」という独立したステップです。
はい。「ソートキー」オプションは、すべてのネストレベルにおいてすべてのオブジェクトキーを再帰的に並べ替えます。配列は元の順序を維持します。なぜなら、JSONでは配列の順序が意味的に重要だからです。
ブラウザのメモリによって制限されています。現代のハードウェアでは最大約50MBまで処理可能です。それ以上の場合は、コマンドラインからjqを実行してください。これはドキュメント全体を読み込むのではなくストリーミングで処理します。