よくあるJSONのエラー
| 誤り | 正しい書き方 | 理由 |
|---|---|---|
{"a": 1,} | {"a": 1} | 末尾のカンマは不可 |
{'a': 'b'} | {"a": "b"} | ダブルクォートのみ |
{a: 1} | {"a": 1} | キーにも引用符が必要 |
{"a": undefined} | {"a": null} | undefined はJSONではない |
// コメント | (削除) | コメント不可 |
大きな数値が変わってしまう問題
JavaScript標準の JSON.parse は 9,007,199,254,740,991(253−1)を超える整数を正確に扱えません。そのため他の整形ツールでは 12345678901234567890 のようなIDが 12345678901234567000 に変わることがあります。このツールは数値を元の表記のまま出力するので値が変わらず、そのような数値があればお知らせします。
ボタンの説明
- 整形する — インデントと改行を入れて読みやすくします。
- 1行に圧縮 — 空白と改行をすべて取り除きます。APIのリクエスト本文などに便利です。
- キーを並べ替え — すべてのオブジェクトのキーを順番に並べます。2つのJSONを比べるときに便利です。
- 文字列にエスケープ/戻す — JSONを引用符とバックスラッシュ付きの文字列に変換したり、ログに出力されたエスケープ文字列をJSONに戻したりします。
よくある質問
業務データやトークンを貼り付けても大丈夫ですか?
入力内容はサーバーに送信も保存もせず、このブラウザ内だけで処理します。それでも本番環境のパスワードやトークンは、どのWebツールにも貼り付けない習慣が安全です。
JSONとJavaScriptのオブジェクトの違いは?
JSONはデータ交換用の形式なので規則が厳しく、キーと文字列は必ずダブルクォート、末尾のカンマ・コメント・undefined・関数は使えません。