開発 へ戻る
JSON5 整形 / JSON 変換 — コメント・末尾カンマ・無クォートキーに対応

JSON5 整形 / JSON 変換 — コメント・末尾カンマ・無クォートキーに対応

JSON5 (コメント、末尾カンマ、シングルクォート、無クォートキーが許される拡張 JSON) をパースして、整形した JSON5 か、厳密な JSON に変換します。tsconfig.json や package.json5、コメント付き設定ファイルで便利。インデント幅 (2 / 4 / Tab) も選択可能で、行・列番号付きのパースエラー表示にも対応。すべてブラウザ内で完結し、データは外部に送信されません。

開発JSON整形変換

使い方

JSON5 (コメント・末尾カンマ・無クォートキー・シングルクォートを許容する JSON の上位互換) を入力欄に貼り付け、出力形式を選びます。「JSON5 整形」モードは JSON5 のままインデントとキー順を整理 (コメントは保持されませんが構造はそのまま)、「JSON に変換」モードは標準 JSON (RFC 8259) に厳密化します。インデント幅は 2 / 4 / Tab から選択。パースエラーが起きると行・列番号付きでメッセージを表示します。tsconfig.json や babel.config.json などコメント付き設定ファイルを CI 用に JSON 化する場面で便利です。

よくある質問

JSON5 と標準 JSON の違いは?
JSON5 は JSON の上位互換で、(1) コメント (// と /* */) が書ける、(2) 末尾カンマが許される、(3) キーのクォートを省略できる、(4) シングルクォート文字列が使える、(5) 16 進数や先頭マイナスドットの数値が書ける、などの拡張があります。tsconfig.json、Cargo の Cargo.toml 風コメント設定、Babel の設定など、人が編集する設定ファイルでよく使われます。
コメントは保持されますか?
保持されません。本ツールは json5.parse で AST に変換し、json5.stringify で再エンコードします。コメントはパース時に破棄されるため、コメント付きで整形したい場合は別の整形ツール (Prettier 等) をご検討ください。
json-format ツールとの違いは?
json-format は標準 JSON (コメント・末尾カンマなど不許可) のみを扱います。tsconfig.json などコメント付きファイルでは json-format がパースエラーになるので、まず json5-format で読み込んでから必要に応じて JSON 変換するという使い分けが便利です。
シングルクォート文字列はどう出力されますか?
JSON5 整形モードでは json5.stringify が好む形式 (シングルクォート優先) で出力されます。JSON 変換モードではすべてダブルクォートになります。
数値リテラルの拡張 (16 進、先頭ドットなど) はサポートされますか?
json5 ライブラリがサポートする拡張すべてに対応しています: 0xFF (16 進)、.5 (先頭ドット)、5. (末尾ドット)、Infinity / NaN / +0 / -0 など。JSON 変換時は標準 JSON で表現できる形 (10 進) に置き換えられます。
入力データはサーバーに送信されますか?
いいえ。すべてブラウザ内で処理するため、JSON5 の内容がネットワークに出ることはありません。

類似のツール