JSON検証(構文チェック)
正しいJSONは文字列をダブルクォートで囲み、末尾のカンマやコメントがありません。検証ツールは有効と表示するか、エラーの行と列を示します。
使い方
- 入力欄にJSONを貼り付けます。
- 検証を押します。「正しいJSONです」と出るか、エラー内容が行と列つきで表示されます。
- エラーがあると、入力欄のその位置にカーソルが移ります。直していくと表示もその場で更新されます。
- 正しくなったら、同じテキストを整形や圧縮にもかけられます。
計算方法
検証とは、ブラウザに組み込まれたJSONパーサーにテキストを通すことです。読み込めれば正しいJSON、読み込めなければパーサーが問題の内容と、多くのブラウザでは文字位置をエラーとして返します。この位置を行と列に変換して表示しています。
チェックするのはJSONの規格どおりの構文です。文字列はダブルクォート、末尾のカンマなし、コメントなし、値はオブジェクト、配列、文字列、数値、true、false、nullのみ。スキーマとの照合はしないので、項目の抜けや型の違いまでは分かりません。
Safariでは位置を含まないエラーメッセージがあります。その場合はメッセージだけを表示し、カーソルは動きません。
正しいJSONで使えるもの
- 値: オブジェクト、配列、文字列、数値、true、false、null。
- 文字列はダブルクォートで囲み、\n や \u00e9 のようなエスケープが使えます。
- 数値に先頭の + や余分な 0 は付けられず、NaN や Infinity も使えません。
- 要素の間の空白は無視されます。
よくある質問
JSON Schemaでの検証もできますか?
できません。調べるのは構文だけ、つまりJSONとして正しく書けているかです。必須項目や型のチェックにはスキーマ用のバリデーターが必要です。
データはサーバーに送られますか?
いいえ。ブラウザ標準のJSONパーサーで手元でチェックするので、テキストが端末の外に出ることはありません。
JavaScriptのオブジェクトがエラーになるのはなぜ?
JSONはJavaScriptより厳格です。キーと文字列はダブルクォートが必須で、末尾のカンマは使えず、コメント、undefined、関数もJSONにはありません。
{} や [] のような空の値は正しいですか?
正しいです。5、"text"、true、null のような単独の値も正しいJSONです。エラーになるのは何も入力していないときだけです。