Maison >interface Web >js tutoriel >Comment convertir les paramètres d'URL en un objet JavaScript sur une seule ligne ?

Comment convertir les paramètres d'URL en un objet JavaScript sur une seule ligne ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-05 06:30:02948parcourir

How to Convert URL Parameters to a JavaScript Object in One Line?

Convertir les paramètres d'URL en objets JavaScript

Dans les scénarios de développement Web, il existe des cas où vous devez analyser les paramètres d'URL et les transformer en un Objet JavaScript pour un traitement ultérieur. Cela vous permet d'accéder facilement aux valeurs des paramètres dans votre code JavaScript. Voici comment réaliser cette conversion :

Solution :

Une expression JavaScript sur une seule ligne convertit efficacement les paramètres d'URL en un objet :

<code class="javascript">JSON.parse('{&quot;' + decodeURI("abc=foo&def=%5Basf%5D&xyz=5").replace(/&amp;/g, "&quot;,&quot;").replace(/=/g, "&quot;:&quot;") + '&quot;}')</code>

Décomposons chaque partie de l'expression :

  1. decodeURI("abc=foo&def=[asf]&xyz=5") : Décode les caractères codés en URL selon leurs valeurs réelles . Dans cet exemple, il convertit "[asf]" en "[asf]".
  2. replace(/&/g, "","") : remplace "&" (le Entité de caractère HTML représentant "&") par ""," (la chaîne compatible JSON "&").
  3. replace(/=/g, "":"") : Remplace "=" (le séparateur entre les noms et les valeurs des paramètres) par "":"" (en ajoutant des guillemets doubles autour des valeurs des paramètres).
  4. JSON.parse('{"' ... '" }') : analyse la chaîne résultante au format JSON et renvoie un objet JavaScript.

Exemple d'utilisation :

Considérez les paramètres d'URL suivants :

abc=foo&def=%5Basf%5D&xyz=5

L'exécution de la ligne JavaScript ci-dessus sur ces paramètres donnerait :

<code class="javascript">{
  abc: 'foo',
  def: '[asf]',
  xyz: 5
}</code>

Cela rend les valeurs des paramètres accessibles en tant que propriétés sur l'objet JavaScript, offrant un moyen pratique de les exploiter dans votre code .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn