左に JavaScript を貼り付けて "Convert" を押すと、JSON に変換しますJavaScript を貼り付け

このツールの役割

設定ファイル、シードスクリプト、デバッガーからコピーしてきた JavaScript のオブジェクトリテラルを、ちゃんとした JSON にしたい——そんな場面で使います。問題は、JS ではクォートなしキー、シングルクォート、末尾カンマ、undefined、コメント、new Date(...) が書けてしまうこと。どれも JSON では許されません。全部ここに貼って Convert を押せば、JSON.parse を赤線なしで通る JSON が返ってきます。

JSON.stringify と同じルールで動きます。キーはダブルクォートで囲み、シングルクォートはダブルに変換、末尾カンマは削除、コメントは除去、undefined の値は消え(ネイティブの stringify と同じ挙動)、NaNInfinitynull に、Date オブジェクトは RFC 8259 に従って ISO-8601 文字列になります。ECMAScript の数値フォーマット規則も尊重するので、1e3 は数値のまま、0x1F31 に展開されます。

Node から貼り付けるようなもの——module.exports = {...}、ES の export default {...}、ただの const config = {...} 代入——も対応します。計算プロパティ、ショートハンドプロパティ({ name })、スプレッド({ ...defaults, env: "prod" })はすべて解決後の形に展開されます。ネストしたオブジェクトや配列はそのまま通ります。

使い方

5 行でも丸ごと config モジュールでも、手順は 3 つだけです。

1

JavaScript を貼り付け(サンプルを試すのもあり)

左のエディターにコードを貼ります。object literalオブジェクトの配列export 文const 宣言——どれでもパーサーが処理します。Load Sample を押せば現実的な入力例が見られます。

constmodule.exportsexport default を外す必要はありません。コメントも残したままで OK——出力では削除されます。JSON の型マッピングをおさらいしたければ MDN の JSON リファレンスをどうぞ。

2

Convert を押す

緑の Convert ボタンをクリック。ツールが JS をパースしてリテラル値を評価し、JSON.stringify(obj, null, 2) と同じ形でシリアライズします。

3

JSON をコピー

右のパネルに、どの言語でもきれいにパースできる整形済み JSON が表示されます。リクエストボディ、設定ファイル、Jest のスナップショットにそのままコピーしてください。

実際に役立つ場面

API リクエストの組み立て

React や Express のファイルにあるオブジェクトリテラルを、Postman や curl 用の JSON ボディにしたい。貼って変換、終わり。

設定を JSON に移行

<code>config.js</code> から JSON ベースの設定ストアに移行中? export を貼り付けて、有効な JSON を取り出してそのまま投入します。

テストフィクスチャとモック

Jest テストで使っているインラインオブジェクトを、MSW、Playwright、モックサーバー向けのスタンドアロン JSON フィクスチャに変換します。

ログやデバッガーの出力

Node REPL や Chrome DevTools が表示する値(JSON ではなく JS のオブジェクト構文)をコピーして、下流のツールがちゃんとパースできる形に変換します。

よくある質問

クォートなしキーや末尾カンマは通りますか?

はい。識別子のキーは出力でクォートが付き、シングルクォートはダブルに、末尾カンマは落とされます——ECMAScript が許すけれど JSON が許さない部分を吸収します。

undefined、NaN、Infinity、関数はどうなりますか?

JSON.stringify と同じルールです。undefined と関数値はオブジェクトから省かれ、NaNInfinitynull になり、Symbol は捨てられます。詳しくは MDN の JSON.stringify ドキュメントへ。

Date はシリアライズされますか?

はい。new Date(...) の値は ISO-8601 文字列("2026-03-14T10:30:00.000Z")になります。Date.prototype.toJSON() が生成するのと同じ形式です。

ES モジュールや CommonJS の export も貼っていい?

はい——export default { ... }export const x = { ... }module.exports = { ... } はすべて認識します。ツールはエクスポートされた値を取り出して変換します。

スプレッド構文や計算プロパティは?

両方とも最終的なオブジェクトの形に解決されます。{ ...defaults, env: "prod" } はマージされ、キーがリテラルなら { [name]: value }{ "actualName": value } に展開されます。

コードは保存されますか?

コードは変換のためにバックエンドへ送られ、保存もログも残しません。機微なものを貼る場合は、一度目を通してからどうぞ。

合わせて使えるツール

JavaScript → JSON はパズルの一ピースです。相性のいいツールはこちら: