JS オブジェクト ↔ JSON
変換
実際の JS で書く緩い構文を受け入れる:引用符なしの識別子キー、シングルクォート、末尾のカンマ、行コメント。正規の JSON(または逆方向では、手書きするようなクリーンな JS リテラル)を出力。コピーされた dev コンソール出力を JSON パーサが受け入れるものに変換するため、または API 応答をソースコードに含めるために整形するのに便利。
—
出力
{
"name": "Alice",
"age": 30,
"email": "alice@example.com",
"roles": [
"admin",
"editor"
],
"address": {
"city": "Seoul",
"zip": "04524"
},
"active": true,
"bio": null
}JS → JSON は入力を JS 式として評価 — 自分のデータでのみ使用。
使い方
- JS オブジェクトリテラルまたは JSON を貼り付け。
- 方向を選択 — JS → JSON は値を厳密にラップ;JSON → JS は識別子キーの引用符を外し、シングルクォートを優先。
- 出力をコピー。インデントは一貫している。
よくある質問
- どうやってパースされる?
- JS → JSON はページ内で `new Function('return (…)')` を使う。自分のデータには安全;信頼できないソースコードをここに貼り付けないこと。
- 関数、日付、RegExp は?
- JSON は文字列、数値、ブール、null、配列、プレーンオブジェクトだけを運べる。コンバータは `JSON.stringify` のように静かに削除するのではなく、明示的なエラーで拒否する。
- なぜ JS 出力でシングルクォートを優先?
- モダンな JS コードベースの主流スタイルに合う(Prettier のデフォルト)。ダブルクォートが好みならトグルを反転。