JSON 修復

コメント、単一引用符、引用符なしのキー、末尾のカンマを直して、厳密な JSON にします。

あと一歩で読める JSON

エディタやログの JSON には、コメント、単一引用符、引用符なしのキー、閉じ括弧の前のカンマが残ることがあります。厳密なパーサはそれを拒みます。このページはそれらの癖を直し、値を整形します。コメントは保存せず消します。木の編集は JSON フォーマッタ、二つの値の比較は JSON 差分 です。

使い方

  1. 緩いテキストを貼ります。入力と同時に更新はオンなので、入力中に結果が変わります。変換は同じ処理を一度だけ行います。
  2. すべてクリアは入力と結果を空にします。
  3. 結果をコピーは、直した JSON をコピーします。
  4. 例を表示は {name: 'Ada', n: 1, tags: ['a',],} と // note の行を入れます。結果は name が Ada、n が 1、tags に a があるオブジェクトです。コメントは残りません。

書き換えるもの

文字列の外の // と /* */ は除きます。単一引用符の文字列は JSON の文字列になり、\n \t \r \' \" \\ はそれぞれの文字になります。裸の語は引用符で囲みます。ただし true false null は大文字小文字を問わずキーワードのままです。undefined NaN Infinity は null になります。カンマのあとが空白かコメントだけで } か ] なら、そのカンマは捨てます。結果はスペース 2 つのインデントです。すでに二重引用符の中にある文字はそのままです。直しきれないとき、入力が空のときは JSON として無効です。

使う場面

  • JavaScript から写した設定。
  • 末尾カンマが残った API の例。
  • オブジェクトの横に // があるログ。

質問

コメントが消えました。

目標は厳密な JSON です。コメントは JSON に無いので、残さず除きます。

引用符の中の数字が文字列のままです。

二重引用符の中はそのままです。裸の語と単一引用符だけを書き換えます。