設定ファイルやAPIの応答をJSONとして読み込めず、どこを直せばよいか迷っていませんか。この記事では、ITtripが運営する「ぱっとネット」のJSON整形・検証を使い、末尾カンマの修正から、読みやすい整形結果の保存までを説明します。
まず見るのはJSONの書き方です。形を整えられた後に、IDや件数などの値を確認します。構文が正しくても、アプリが必要とする内容まで正しいとは限りません。
末尾カンマで失敗する例を確認する
JSONでは、最後の要素の後にカンマを置けません。たとえば次の文字列は、閉じる波括弧の直前にカンマがあるため、読み込みに失敗します。ダミーデータなので、そのまま練習に使えます。
{"enabled":true,"ports":[80,443],}
- ぱっとネットの「JSON整形・検証」を開く。
- 「JSON」欄に上の文字列を貼り付ける。
- 「出力形式」を「2スペースで整形」にして「実行する」を押す。
- エラーが表示されたら、末尾の「,}」を探す。

配列でも同様に、[80,443,] は不正です。キー名や文字列はダブルクォートで囲みます。シングルクォートを使ったJavaScriptの記述を、そのままJSONに貼り付けないようにしましょう。これらの違いはMDNのJSON.parse()の説明でも確認できます。
カンマを直し、整形したJSONを保存する
末尾のカンマを削除します。ここでは、大きなIDを文字列で扱う例としてcustomerIdも加え、次の内容で実行します。表示が「有効なJSONです」になったら、まず出力に必要なキーと値が残っているか確認してください。
{"enabled":true,"ports":[80,443],"customerId":"9007199254740993"}
「2スペースで整形」を選ぶと、出力は次のように改行と字下げが加わり、配列や入れ子の範囲を追いやすくなります。
{
"enabled": true,
"ports": [
80,
443
],
"customerId": "9007199254740993"
}

JSON本文を設定ファイルへ移すときは「出力だけコピー」を使います。「結果全体をコピー」は見出しや注意書きも含むため、そのままJSONファイルへ貼り付ける用途には向きません。「formatted.json を保存」ならファイルとして手元に残せます。既存設定を置き換える前に、元ファイルを別名で保存しておきましょう。
| 出力形式 | 使いどころ |
|---|---|
| 2スペースで整形 | 内容を読み、変更箇所を確認する |
| 4スペースで整形 | 利用先の字下げルールに合わせる |
| 圧縮(1行) | 改行のないJSON文字列が必要な場面 |
大きなIDは数値のまま整形しない
このツールはJavaScriptの数値としてJSONを読み取ります。整数を正確に扱える範囲を超えると、構文エラーにならずに桁が丸められる場合があります。RFC 8259の数値の説明でも、受け手の範囲・精度に注意する必要があります。
計算しない会員IDや注文IDは、受け取り側の仕様が許すなら文字列にします。次の例ではcustomerIdをダブルクォートで囲んでいます。先頭ゼロを残したい番号も同じ考え方です。
{"customerId":"9007199254740993","orderCode":"00123"}
APIが数値型を要求する場合は、勝手に文字列へ変更せず、提供元の仕様を確認してください。元データと出力のIDが一致するか、保存前に比較することも必要です。大きな数値を一度丸めてしまうと、後から引用符を付けても元の値には戻せません。
「有効なJSON」で分かる範囲を確認する
| 確認内容 | このツールでの扱い |
|---|---|
| JSONの構文・整形 | 確認する |
| JSON Schemaに沿う型・必須項目 | 確認しない |
| 同じオブジェクト内の重複キー | 重複をエラーとして検出しない |
| 存在する会員ID・正しい金額など業務上の条件 | 確認しない |
たとえば同じキーを2回書いたJSONは、読み込み後に後の値だけが残ることがあります。RFC 8259はキー名を一意にするよう勧めています。重要な設定では、元のJSONに重複がないかも別途確認し、整形しただけで完全に正しいと判断しないでください。
入力の扱いと作業を終える前の確認
JSONの入力内容はブラウザー内で処理し、当サービスのサーバーへ送信しません。ただし、ページの配信や共通紹介枠の読み込みなどの通信は発生します。ネットワーク診断とは処理方法が異なります。入力はツール画面同士の移動では同じタブ内に保持されますが、再読み込み・タブ終了や、広告のあるガイド・紹介ページへの移動で消えるため、必要な結果はコピーまたは保存してください。
最後に、エラーが解消したこと、元データとID・値が一致すること、利用先が求める型と項目を満たすことを確認します。構文から順に調べると、書き方の問題と利用先の条件を切り分けやすくなります。
表のデータをJSONにしたい場合は、CSVをJSONに変換し、先頭ゼロやセル内改行を確認する手順も参考にしてください。JSONの整形と、表からのデータ変換は別の作業として確認できます。

コメント