コンバーターはまず JSON を解析し、その結果を stringifyJSObject で整形します。有効な JavaScript 識別子のキーは引用符なしで出力でき、スペース、ハイフン、その他の識別子ではない文字を含むキーは引用符付きのままです。
JSON.parse は実行時に JSON を値へ変換します。このツールは JS ファイル、README、デバッグメモ、コードレビューコメントへ貼り付けられるソースコード文字列を生成します。
サンプル JSON をテスト、fixture、ドキュメント、JavaScript 設定の断片へ移すときに、まずオブジェクトリテラルとして整えられます。ソート設定では元の順序を保つか、ネストされたプロパティをアルファベット順にしてレビューしやすくできます。
JSON の仕様ではダブルクォートが必須ですが、JavaScript ではどちらも有効です。Prettier はダブルクォートがデフォルトで、Airbnb などのスタイルガイドはシングルクォートを好みます。引用符スタイルの設定でプロジェクトの lint ルールに合った出力にすれば、貼り付けてそのまま ESLint を通せます。有効な識別子のキーはどちらのスタイルでも引用符なしのままです。
このテーマに関するよくある疑問と回答をまとめました。
JSONはすべてのキーがダブルクォートされた文字列である必要があり、プリミティブ値のみを許可します。JavaScriptオブジェクトは引用符なしキー(有効な識別子の場合)、シングルクォート、末尾カンマ、計算プロパティ、メソッドをサポートします。
いいえ。JSON.parse は実行時に JSON を読み取り JavaScript の値を返します。この変換器は、サンプル、設定ファイル、テスト、ドキュメントへコピーできる JavaScript オブジェクトリテラルのソースコードを生成します。
有効な JavaScript 識別子として使えるキーだけが引用符なしになります。空白、ハイフン、句読点、その他の無効な文字を含むキーは、出力が有効な JavaScript になるよう引用符付きのまま保持されます。
はい、ソートキーのドロップダウンで、すべての JavaScript オブジェクトプロパティをアルファベット順(A から Z)に並べ替えるか、元の JSON キー順序を維持するかを選べます。ソートはすべてのネストされたオブジェクトリテラルに再帰的に適用されます。
はい、フォーマットオプションで JavaScript 出力のインデントを 2 スペース、4 スペース、またはタブに設定できます。JavaScript プロジェクトでは 2 スペースが一般的ですが、タブを好むスタイルガイドもあります。
はい。「文字列の引用符スタイル」セレクターで切り替えられます。シングルクォートは Airbnb などのスタイルガイドに、ダブルクォートは Prettier のデフォルトに合います。切り替えは文字列値と引用符付きキーにのみ影響し、有効な識別子のキーは引用符なしのまま、入力側は JSON 仕様どおりダブルクォートが必要です。
いいえ、JSON から JavaScript オブジェクトへの変換はブラウザ内で完全に実行されます。お客様の JSON データは JavaScript でローカル処理され、サーバーへ送信されることはありません。