mygems

JSONを整形・検証する

正しいJSONは見やすく整形。壊れたJSONは場所を示し、ほぼ自動で修正。

  • エラーを行と列で表示
  • ワンクリックで修正
  • 大きな数値もそのまま
  • アップロードなし

1.JSONを貼り付けるか、ファイルを開く

JSON、JSONC、またはテキスト。ここにドラッグするか、ファイルを選択してください。

2.整形・圧縮・修正

「修正」では、コメントと末尾のカンマの削除、シングルクォートの変換、引用符のないキーの引用符付けを行います。それ以外は推測で直しません。

作った理由

パースに失敗するJSONの多くは人が書いたもので、人はJSONをJavaScriptのように書きます。コメント、末尾のカンマ、シングルクォート、引用符のないキー。「Unexpected token at position 4031」と答えるバリデーターは、理屈では正しくても実用には向きません。このツールは何行目の何列目かを言葉で示し、この4つのクセについては、探させる代わりに元に戻すことを提案します。

できること

  • スペース2つ、スペース4つ、タブで整形するか、最小サイズに圧縮します。
  • 厳密に検証し、問題を言葉と行・列で示します。
  • ワンクリックで問題の位置にカーソルを移すので、前後の文脈ごと確認できます。
  • コメント、末尾のカンマ、シングルクォートの文字列、引用符のないキーを修正し、それぞれ何件直したかを表示します。
  • 数値は書かれたとおりに保つので、20桁のIDが丸められることはありません。

「修正」でできないこと

推測はしません。値と値の間のカンマ抜け、閉じていない括弧、紛れ込んだ文字は、どれも直し方が複数あり、黙って1つを選ぶ整形ツールは文書の意味を変えてしまいかねません。そうした問題は行と列を添えて報告し、判断はあなたに任せます。

よくある質問

JSONはどこかに送信されますか?
いいえ。ページ内で動くコードが解析します。このツールの裏にサーバーはなく、貼り付けたり開いたりしたものがタブの外へ出ることはありません。
他の整形ツールと違って、長い数値が変わらないのはなぜですか?
多くの整形ツールはJSONをJavaScriptの数値として解析します。JavaScriptの数値は有効桁数が約15桁なので、12345678901234567890 は 12345678901234567000 になって戻ってきます。このツールはすべての数値を書かれたままの文字列として保持し、変わるのはまわりの空白だけです。
JSON5やJSONCに対応していますか?
よく使われる部分、つまりコメント、末尾のカンマ、シングルクォート、引用符のないキーは読み取れ、「修正」で標準のJSONに変換します。出力は常に標準のJSONです。
どれくらい大きなファイルを扱えますか?
パソコンのブラウザなら数十MBです。2 MBを超えるとページの反応を保つためテキストボックスには表示されませんが、整形と修正はファイル全体に対して行えます。

ほかのツール