このツールについて
JS オブジェクトから厳密な JSON へのツールは、緩い JavaScript または JSON5 スタイルのオブジェクトリテラルを、厳密で有効な JSON に修復します。手書きのトークナイザーの上に構築されており、eval や new Function を決して使わないため、厳格な Content Security Policy の下で安全で、信頼できないテキストを貼り付けても安全です。すべてブラウザ内で実行されます。
実際の JSON が拒否するものを受け付けます。クォートされていない識別子キー、シングルクォートの文字列、] や } の前の末尾カンマ、// 行および /* ブロック */ コメント、16 進数(0xFF)、8 進数や 2 進数リテラル、先頭プラスや先頭ドットの数値(+1、.5)、そして undefined、NaN、Infinity という値です。キーは二重引用符で再クォートされ、文字列は正しく再エスケープされ、コメントと末尾カンマは除去され、数値はプレーンな JSON 数値に正規化されます。undefined の扱い(null に変換するかキーを削除するか)と非有限数値の扱い(null に変換するかエラーを出すか)を選び、その後、値は選んだインデント(2 スペース、4 スペース、タブ、または圧縮)で JSON.stringify によって再シリアライズされます。
入力が解析できない場合、ツールは最初の構文エラーをその行と列とともに報告するため、問題をすばやく見つけられます。これは緩い入力を単に拒否する厳密な JSON フォーマッターを補完します。ここでの目的は、コピーしたコンソール出力、設定スニペット、手編集したオブジェクトを、どんなパーサーでも受け付ける JSON へ救い出すことです。