JSONフォーマッター
JSONの整形、検証、圧縮。
JSON構文の基本
JSON (JavaScript Object Notation) は厳格な構文規則に従います:
- データは名前/値のペアです:
"name": "value" - オブジェクトは波括弧で囲まれます:
{ } - 配列は角括弧で囲まれます:
[ ] - 文字列は一重引用符ではなく、二重引用符を使用する必要があります
- 最後の項目の後にカンマは許可されません
- JSONではコメントは許可されていません
JSONデータ型
JSONは6つのデータ型をサポートしています。これらを理解することで、データを正しく構造化し、検証エラーを回避できます。
文字列は二重引用符で囲まれたテキストです。改行などの特殊文字は \n のようなエスケープシーケンスが必要です。Unicodeは完全にサポートされています。
数値は整数または小数、正または負が可能です。指数表記も可能です。ただし、先行ゼロ、NaN、Infinityは不可です。
ブール値は小文字の true または false です。引用符は不要です。「true」とするとブール値ではなく文字列になります。
Nullは空または欠損値を表します。小文字の null で、引用符は不要です。空文字やゼロとは異なります。
配列は角括弧内の順序付きリストです。他の配列やオブジェクトを含む、任意のデータ型の組み合わせを含めることができます。
オブジェクトは波括弧内のキーと値のペアです。キーは文字列である必要があります。値は任意の型が可能です。オブジェクトは無制限にネストできます。
よくあるJSONエラー
これらの頻繁な間違いに注意してください:
- {"a": 1,} のような末尾のカンマは削除する必要があります
- 'text' のような一重引用符は二重引用符にする必要があります
- {name: "value"} のような引用符のないキーは引用符で囲む必要があります
- 文字列内の改行やタブはエスケープする必要があります
- 007のような数値の先行ゼロは無効です
圧縮 vs 整形(使用場面)
APIレスポンスのファイルサイズ削減、データベースやlocalStorageへの保存、ネットワーク送信の効率化には「圧縮」を使用します。
データ構造のデバッグやレビュー、設定ファイルの編集、API例のドキュメント化には「整形(美化)」を使用します。
JSON検証
このフォーマッターは処理中にJSONを検証します。エラーがある場合、メッセージが何が間違っているか、どこにおおよその間違いがあるかを伝えます。一般的な問題には、キーの引用符不足、最後の項目の後の不要なカンマ、二重引用符の代わりに一重引用符を使用することなどがあります。JSONは設計上厳格であるため、わずかな構文エラーでもドキュメント全体の解析に失敗します。
JSONの使用場所
JSONはWeb上のデータ交換の標準形式になっています。ほぼすべての場所で遭遇します。
REST APIはリクエストとレスポンスの本文にJSONを使用します。最新のAPIからデータを取得する場合、ほぼ確実にJSONを受け取っています。
package.json、tsconfig.json、.eslintrcなどの設定ファイルは設定を保存するためにJSONを使用します。これらのファイルはツールやアプリケーションの動作を制御します。
MongoDBなどのデータベースはデータをJSONライクなドキュメントに保存します。ブラウザのlocalStorageとsessionStorageはJSON文字列を保持します。Redisはモジュールを使用してJSONを保存できます。
マイクロサービスはHTTP経由でJSONを使用して通信します。イベント駆動システムはJSONペイロードを渡します。ログ集約ツールでさえJSON形式のログエントリを期待することがよくあります。