JSONとJavaScriptのオブジェクトは何が違いますか?
JSONはJavaScriptのオブジェクトの書き方をもとにしたデータの形式ですが、決まりがより厳しくなっています。キーと文字列は必ずダブルクォートで囲み、使える値は文字列・数・true・false・null・オブジェクト・配列だけです。undefined・NaN・関数・日付は書けません。
なぜコメントや末尾のカンマが使えないのですか?
JSONはプログラム同士でデータを受け渡すための形式で、どの言語でも同じように読めるよう、文法をできるだけ小さくしているためです。コメントを書きたい設定ファイルにはJSONCやJSON5が使われます。「よくある誤りを自動で直す」を使うと、コメントや末尾のカンマを消したJSONにできます。
大きな数(2^53を超える整数)はどうなりますか?
JavaScriptの数は2^53 − 1(9007199254740991)を超える整数を正確に表せず、JSON.parseで読むと9007199254740993が9007199254740992に変わります。このツールはJSON.parseを使わずに読むので、書かれた桁のまま整形し、別の値に変わる数には注意を出します。9007199254740994のように上限を超えてもちょうど表せる数もありますが、計算すると誤差が出ることがあるので、その旨も知らせます。プログラムで扱うときは、文字列にするかBigIntを使うと安全です。
エラーの行と列はどう数えていますか?
1行目・1列目から数えます。列は文字(コードポイント)の数で数えます。日本語は1文字ですが、組み合わせた絵文字(家族の絵文字や国旗など)は複数に数えることがあり、VS Codeなどのエディターの列番号とずれる場合があります。JSON.parseのエラー文はブラウザごとに違うため、このツールは自分で文法を調べて、誤りが始まる位置を示します。
重複したキーは問題ですか?
JSONの決まりでは禁止されていませんが、多くのプログラムは後に書かれた値だけを使い、前の値は黙って消えます。意図しない上書きのことが多いので、このツールは注意として知らせます(出力ではどちらも残します)。
入力したJSONはどこかに送られますか?
送られません。検証・整形・ツリー表示はすべてお使いのブラウザの中で行い、ファイルもアップロードしません。社外秘のAPIレスポンスや設定ファイルも安心して貼り付けられます。