JavaScriptからJSONへのオンライン変換器 — Numio
JavaScript のオブジェクトリテラルを、2 スペースインデントの厳密な JSON に変換します。クォートなしのキー、シングルクォート、コメント、末尾カンマ、16 進数、先頭が小数点の小数も受け付けて正規化します。
.js ファイルにある設定やフィクスチャのオブジェクトを、JSON ファイル、API リクエストボディ、Postman コレクションにコピーする。
JSON と JSON5 に対応。コメント・単一引用符・末尾のカンマを使えます。関数や JavaScript の式は実行しません。
JS Object
JSON
こんなときに使えます
- .js ファイルにある設定やフィクスチャのオブジェクトを、JSON ファイル、API リクエストボディ、Postman コレクションにコピーする。
- ブラウザの DevTools やドキュメントから貼り付けたオブジェクトを、厳密な JSON パーサーを通る形に整える。
使い方
- オブジェクトリテラル(データのみ。変数宣言や末尾のセミコロンは含めない)を左側のエディターに貼り付けるか、ファイル読み込みボタンで UTF-8 のファイルを開きます。
- 入力すると右側に JSON が表示されます。"invalid character" などのエラーが出たら、表示された行と列を確認します。
- 変換後の値(16 進数は 10 進数に、クォートはダブルクォートに)を確認して、結果をコピーします。
JavaScript オブジェクトリテラル
{
// Mongoose-style field definition
title: {
type: 'String',
required: true,
},
year: { type: 'Number', max: 0x7E6 },
tags: ['draft', 'review',],
ratio: .75,
'content-type': "text/plain",
}JSON
{
"title": {
"type": "String",
"required": true
},
"year": {
"type": "Number",
"max": 2022
},
"tags": [
"draft",
"review"
],
"ratio": 0.75,
"content-type": "text/plain"
}仕様と制限
入力はブラウザ内の JSON5 パーサーで解析され、コードは実行されません。式、関数、new Date()、テンプレートリテラル、undefined、変数参照は不正な文字として拒否されます。
NaN と Infinity は JSON で表せないため、エラーになります。
コメントや元のキーの書式は保持されません。出力は常にダブルクォートと 2 スペースインデントです。
2^53 を超える整数は精度が落ちます(12345678901234567890 は 12345678901234567000 になります)。大きな ID は文字列にしてください。
FAQ
const config = { ... }; を貼り付けられますか?
いいえ。受け付けるのは値だけです。宣言と末尾のセミコロンを削除してください。残っているとパーサーがその位置で不正な文字を報告します。
重複したキーはどうなりますか?
最後に出現したものが採用されます。{a: 1, a: 2} は警告なしで {"a": 2} になるため、手作業でマージしたオブジェクトは確認してください。
ルートが配列や単一の値でも変換できますか?
はい。JSON5 の値なら何でも変換できます。たとえば [1, 2,] は要素 2 つの JSON 配列に、'hi' は "hi" になります。