{ } · 2 / 4 / tab · minify
JSON整形・検証ツール
JSON整形ツールは、詰めて書かれたJSONにインデントを加えます。60バイトの文書は、スペース2つで86バイト、スペース4つで102バイトになります。JSONを貼り付けると、整形または圧縮したテキスト、あるいは最初のエラーの行と列が表示されます。
- {"a": 1,} → 1:8
- 12345678901234567890 → 12345678901234567000
- 60 B → 86 B (2) → 102 B (4)
処理はすべてこのタブ内で行われ、何もアップロードされません。パーサーはRFC 8259に従うため、コメント、シングルクォート、末尾のカンマ、引用符のないキーはエラーとして報告されます。
Scanned by NortonTM Safe Web
概要
- 価格
- 料金なし
- アカウント
- 不要
- 規格
- RFC 8259 (JSON)
- 上限
- 入力5 MB、ネスト512階層
- 出力
- スペース2つ、スペース4つ、タブ、圧縮のいずれか。キーの並べ替えは任意
- アップロード
- なし — テキストはブラウザーのタブ内にとどまります
JSONのエラーと数値の精度
これらの数値は、このページが使うパーサーから得たものです。行と列は1から数えます。
| 文書 | 理由コード | 行:列 |
|---|---|---|
| {"a": 1,} | trailing_comma | 1:8 |
| {'a': 1} | single_quotes | 1:2 |
| [1, 2 | unexpected_end | 1:6 |
| {"a": 01} | bad_number | 1:8 |
| {"a": "x\q"} | bad_escape | 1:9 |
| {"a": 1 "b": 2} | missing_comma | 1:9 |
| 書かれた数値 | JSON.parseが返す値 |
|---|---|
| 12345678901234567890 | 12345678901234567000 |
| 9007199254740993 | 9007199254740992 |
| 1.0000000000000001 | 1 |
| 1E400 | Infinity |
JSONを整形する手順
JSONを貼り付ける
最大5 MBのJSON文書を入力欄に入力または貼り付けます。サンプルが最初から入っているので、先に結果を確認できます。
出力を選ぶ
スペース2つ、スペース4つ、タブ、圧縮形式から選びます。チェックを入れると、すべてのオブジェクトのキーがコードユニット順に並べ替えられます。
コピーまたは修正
結果をコピーまたはダウンロードします。JSONに誤りがある場合は、行、列、理由がメッセージに表示され、エラーのある行にはキャレットで位置が示されます。
JSON整形ツールの仕組み
このページは、RFC 8259のJSON文法に対応した独自のパーサーでテキストを読み取り、選んだインデントで書き出します。パーサーがページの一部なので、同じ間違いに対してどのブラウザーでも同じメッセージが表示されます。組み込みのJSON.parseはChrome、Firefox、Safariでエラーの文言が異なり、行と列を示さないものもあります。
数値と文字列のエスケープは、入力したとおりに書き写されます。JSON.parseは12345678901234567890を12345678901234567000に変えてしまいます。JavaScriptの数値は64ビット浮動小数点数で、有効桁数が約15〜17桁だからです。このページは20桁すべてを保持し、数値が丸められる場合はそのことを知らせます。RFC 8259ではオブジェクトの名前は一意であるべきとされているため、重複したキーは保持したうえで報告されます。上限は入力5 MB、ネストの深さ512階層です。
JSON整形ツールの質問
JSONをオンラインで整形するには?
JSONを入力欄に貼り付けます。整形されたテキストがすぐに表示され、各階層のインデントはスペース2つ、スペース4つ、タブから選べます。60バイトのサンプルは、スペース2つで86バイト、スペース4つで102バイトになります。
「unexpected token」とはどういう意味で、エラーはどこですか?
その位置にJSONの文法で許されていない文字がパーサーに現れた、という意味です。このページでは理由、行、列が示されます。{"a": 1,}の場合は、1行目の8列目でtrailing_commaと報告されます。
JSONで末尾のカンマがエラーになるのはなぜですか?
RFC 8259の文法では、すべてのカンマの後に値が必要なため、[1, 2,]や{"a": 1,}は無効です。JavaScriptのオブジェクトリテラルは末尾のカンマを受け付けますが、JSONは受け付けません。最後のカンマを削除してください。
JSONにコメントやシングルクォートは使えますか?
いいえ。RFC 8259にコメントはなく、文字列とキーにはダブルクォートだけを使います。JSON5やJSONCなどの形式は両方を許しますが、別の形式であり、このページではエラーとして報告されます。
整形すると数値が変わりますか?
いいえ。数値とエスケープは入力したとおりに書き戻されます。JSON.parseなら12345678901234567890を12345678901234567000に丸めますが、このページは全桁を保持するので、整形で失われるものはありません。
JSONはどこかにアップロードされますか?
いいえ。ページはブラウザーのタブ内で動作し、サーバーには何も送信しません。一度読み込めばオフラインでも動作します。入力の上限は5 MBです。