JSON検証(構文チェック)

正しいJSONは文字列をダブルクォートで囲み、末尾のカンマやコメントがありません。検証ツールは有効と表示するか、エラーの行と列を示します。

問題は解決しましたか?
Googleで優先表示

使い方

  1. 入力欄にJSONを貼り付けます。
  2. 検証を押します。「正しいJSONです」と出るか、エラー内容が行と列つきで表示されます。
  3. エラーがあると、入力欄のその位置にカーソルが移ります。直していくと表示もその場で更新されます。
  4. 正しくなったら、同じテキストを整形や圧縮にもかけられます。

計算方法

検証とは、ブラウザに組み込まれた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です。エラーになるのは何も入力していないときだけです。