ホームページ > ウェブフロントエンド > jsチュートリアル > URL パラメータを JavaScript オブジェクトに効率的に変換するにはどうすればよいですか?

URL パラメータを JavaScript オブジェクトに効率的に変換するにはどうすればよいですか?

DDD
リリース: 2024-11-05 12:18:02
オリジナル
369 人が閲覧しました

How to Efficiently Convert URL Parameters to a JavaScript Object?

URL パラメータを JavaScript オブジェクトに変換する

質問:

「abc=」などの URL パラメータ文字列が指定された場合foo&def=[asf]&xyz=5," どうすれば効率的に JavaScript オブジェクトに変換できますか?

答え:

最も便利で信頼性の高い方法の 1 つこれを実現するには、JSON.parse() の機能を活用します。ただし、このプロセスに URL パラメーターとの互換性を持たせるには、最初にいくつかの変換を実行する必要があります。

  1. Decode URI: このステップにより、スペースや特殊記号などの文字が適切に認識されるようになります。
  2. エスケープ引用符: URL パラメーター値に二重引用符が含まれている場合は、JSON 構文との競合を避けるためにエスケープする必要があります。
  3. アンパサンドを次のように置き換えます。カンマ: URL パラメーターで使用されるアンパサンド区切り文字 (&) をカンマ (,) に変換して、文字列を JSON オブジェクト構文と互換性のあるものにします。
  4. 等号をコロンに置き換えます: 同様に、等号 (=) をコロン (:) に置き換えて、JSON オブジェクト内のキーと値を区切ります。
  5. 中括弧で囲みます: 最後に、変換された文字列を中括弧 ({ ) を使用して、有効な JSON オブジェクトを作成します。

実装例は次のとおりです:

<code class="javascript">const urlParams = "abc=foo&def=%5Basf%5D&xyz=5";
const decodedParams = decodeURI(urlParams);
const escapedQuotes = decodedParams.replace(/&quot;/g, '\&quot;');
const commaSeparated = escapedQuotes.replace(/&amp;/g, '&quot;,&quot;');
const colonSeparated = commaSeparated.replace(/=/g, '&quot;:&quot;');
const jsonReady = `{&quot;` + colonSeparated + `&quot;}`;
const jsonObject = JSON.parse(jsonReady);
console.log(jsonObject); // { abc: 'foo', def: '[asf]', xyz: 5 }</code>
ログイン後にコピー

これらの手順に従うことで、URL パラメーターを JavaScript オブジェクトにシームレスに変換でき、簡単に変換できます。プログラムでデータにアクセスして操作します。

以上がURL パラメータを JavaScript オブジェクトに効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート