Kit — JSON整形・検証
JSON整形・検証
貼り付けるだけで整形・最小化・キーのソートができます。読み取れなかったときは何行目の何文字目かを示し、その行を抜き出してキャレットで指します。末尾カンマやコメントなど「JSONでは使えない書き方」も名前を出して指摘します。
ここに整形結果が出ます。
この処理はブラウザ内で完結します。ファイルはどこにも送信されません。
関連するツール
ほかのJSON整形ツールと違うところ
ブラウザのエラーメッセージは、位置を含まないことがよくあります(Chromeは実用的な長さのJSONだと前後の抜粋を返すだけ、Safariは位置なし)。このページは構文を自分で追って場所を割り出し、行番号・文字位置と、その行の前後、該当文字へのキャレットを表示します。最小化された1行だけのJSONでも、その付近だけを切り出します。
末尾カンマ、シングルクォート、引用符のないキー、コメント、全角スペースや全角引用符。どれもJavaScriptの感覚で書くと入り込むもので、「Unexpected token」からは理由が読み取れません。見つかったものを具体的に指摘します。
JSON整形ツールに貼られるものの多くはAPIの応答で、そこにはアクセストークンやメールアドレス、注文履歴がそのまま入っています。この処理はブラウザ内で完結し、貼り付けた内容はどこにも送信されません。
知っておくと詰まらないこと
よくある質問
貼り付けたJSONはどこかに送信されますか?
されません。整形も検証もブラウザの中だけで行われ、サーバーとの通信は発生しません。ページを閉じれば内容は消えます。
どれくらいの大きさまで扱えますか?
明確な上限は設けていませんが、端末のメモリ次第です。数MBまでは実用的に動きます。約200KBを超えると入力中の自動整形を止めて「整形する」ボタンでの実行に切り替わります。毎回のキー入力で数MBを解析し直すと、入力そのものが引っかかるためです。
壊れたJSONを自動で直してくれますか?
直しません。末尾カンマを消すだけなら安全ですが、シングルクォートをダブルクォートに置き換える処理は文字列の中にあるアポストロフィまで壊します。推測で書き換えて気づかれないより、場所と理由を示して直してもらうほうが安全だと判断しました。
行番号はブラウザのエラーメッセージから取っているのですか?
いいえ。ブラウザ任せにすると多くの場合これが出せません。Chromeは実用的な長さのJSONだと位置の代わりに前後の抜粋を返し、Safariはそもそも位置を含みません。そこで、このページは構文を自分で追って最初に破綻した位置を割り出し、そこから行と桁を数えています。理由の文言(「この , のあとに要素がありません」など)も同じ判定によるもので、ブラウザの原文は下に参考として並べています。整形そのものはブラウザ標準の処理を使っているため、表示される結果は通常のJSONの解釈と一致します。
キーをソートすると何が良いのですか?
同じ内容でもキーの順番が違うだけで差分が出る、という状況を避けられます。2つの設定ファイルを比較する前に両方をソートしておくと、本当に違う箇所だけが差分に残ります。並び順はUnicodeのコード順で、環境によって変わりません。