構文モードを先に決める
初期値は厳密なJSONです。JSONCでは行コメントとブロックコメントだけを許可し、末尾カンマは許可しません。モードを変更すると古い診断は無効になるので、新しい条件で再実行してください。
JSONツール
手動ではCtrl/Cmd+Enterで実行できます。診断の行・列を選ぶと入力内の該当位置へ移動します。
入力はこのブラウザータブ内で処理し、アップロードや永続保存は行いません。
検証待ちです。
JSONCでは//と/* */を許可します。末尾カンマはエラーです。
未実行または古い結果です。現在の入力を検証してください。
出力は診断と短い原文抜粋です。修正済みJSONではありません。
設定の読み込みに成功したのに、同じ項目の値がいつの間にか変わっている。そんなときJSONバリデーターなら、通常のオブジェクトへ変換する前の重複キーを確認できます。後の値で上書きしてから判定する処理ではありません。
JSON構文チェックでは、見た目の整形よりエラーの位置が手掛かりになります。このJSON検証は入力の空白や並びを保ったまま行・列を報告し、JSONエラーと、構文上は合法なデータのリスクを分けて示します。
同じオブジェクト内でキーが繰り返されると、後の位置に警告を出し、最初の位置も記録します。"a"と"\u0061"のようなエスケープ後に一致する名前も対象です。別々のオブジェクトにある同名キーは重複扱いにしません。
構文が正しくても、受け取り側がJavaScriptのNumberを使うと整数の安全範囲を超えることがあります。数字の元の並びを保持し、問題となるトークンの位置だけを示します。引用符を付けたり別の数値へ変えたりしません。
初期値は厳密なJSONです。JSONCでは行コメントとブロックコメントだけを許可し、末尾カンマは許可しません。モードを変更すると古い診断は無効になるので、新しい条件で再実行してください。
行と列は1から数えます。位置をクリックすると入力カーソルが移動します。カンマの不足は次の行で初めて見つかる場合があるため、直前の項目も確認します。長い行の抜粋は指摘箇所の周囲に限定されます。
自動チェックは最後の変更から400ms後に実行し、実行ボタンは非表示になります。入力やモードが変わった直後はコピーとダウンロードを無効にします。画面には50件ずつ表示しますが、保存対象は収集済み診断の全件です。
JSONバリデーターは構文の成否と警告を別々に扱います。重複キーは相互運用上の注意であり、それだけを構文エラーとは呼びません。エラーがなければ後続の値も引き続き走査します。
−9007199254740991から9007199254740991までが整数の安全範囲です。小数点や指数で書かれていても数学的に整数なら判定します。Numberで無限大になる値は別の警告です。任意の小数の精度を保証するものではありません。
診断コード、重要度、JSON Pointer、オフセット、行・列、短い抜粋を記録します。重複キーには初出位置もあります。列とオフセットはUTF-16単位で、CRLFは一つの改行です。パス中のスラッシュとチルダはエスケープされます。
見た目がJavaScriptのオブジェクトでも、JSONではキーや文字列にダブルクォートが必要です。末尾カンマ、未閉鎖の括弧、値の後ろの余分な文字も確認してください。エラー位置より前に原因があることもあります。
使えません。文字列とオブジェクトのキーはダブルクォートで囲みます。本ページのJSONCもこの規則を維持します。原文を書き換えた後で再度チェックしてください。
厳密モードではコメントはエラーです。JSONCを選択すると行コメントとブロックコメントを許可します。ただし末尾カンマやJSON5の追加構文までは許可しません。
診断の行・列をクリックしてカーソルを移動し、周囲の抜粋と直前の項目を比較します。JSONバリデーターは解析が続けられなくなった位置を報告するため、原因が前の行にある場合もあります。
一つの貼り付け文書を処理する仕様です。ファイルの一括取り込みやJSONLの行ごとの処理はありません。複数のルート値を続けて貼ると、最初の値の後ろに余分な内容があると判定します。
結果に気になる点はありますか?