Maison > interface Web > js tutoriel > Comment convertir les paramètres d'URL en objet JavaScript ?

Comment convertir les paramètres d'URL en objet JavaScript ?

Barbara Streisand
Libérer: 2024-11-04 22:56:02
original
524 Les gens l'ont consulté

How to Convert URL Parameters to a JavaScript Object?

Comment convertir les paramètres d'URL en un objet JavaScript ?

Lorsque vous travaillez avec des applications Web, il est courant de rencontrer des URL qui contiennent des paramètres. Ces paramètres peuvent contenir des informations supplémentaires auxquelles vous souhaitez accéder dans votre code JavaScript. Pour ce faire, vous devrez convertir les paramètres d'URL en un objet JavaScript.

Solution One-Liner

La one-liner suivante fournit une solution simple et rapide façon de convertir les paramètres d'URL en objet :

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

Détail étape par étape

Décomposons cette solution étape par étape :

  1. Décoder l'URI : Cette étape garantit un décodage correct de tous les caractères échappés dans les paramètres de l'URL. Par exemple, "&" serait décodé en "&".
  2. Citations d'échappement : Toutes les guillemets doubles dans les paramètres d'URL doivent être échappés à l'aide de """. Cela évite les erreurs de syntaxe lorsque analyse de l'objet JSON.
  3. Remplacez "&" par "","": Les symboles "&" dans les paramètres d'URL représentent des paires clé-valeur. Cependant, JSON exige qu'ils soient. séparés par ""," (virgule entre guillemets doubles).
  4. Remplacez "=" par "": : Les symboles "=" dans les paramètres d'URL séparent les clés et les valeurs. Pour créer un objet JSON valide, ils doivent être remplacés par "":"".
  5. Enrouler avec des accolades et des guillemets : Enfin, la chaîne entière est entourée d'accolades et de guillemets doubles , ce qui en fait un objet JSON valide.

Fonction Reviver

Bien que la solution one-liner gère la plupart des scénarios, elle peut rencontrer des problèmes avec certains caractères comme " %" dans les paramètres de l'URL. Pour résoudre ce problème, vous pouvez utiliser une fonction reviver lors de l'analyse de l'objet JSON :

<code class="javascript">JSON.parse('{&quot;' + search.replace(/&amp;/g, '&quot;,&quot;').replace(/=/g,'&quot;:&quot;') + '&quot;}', function(key, value) { return key===&quot;&quot;?value:decodeURIComponent(value) })</code>
Copier après la connexion

Cette fonction reviver effectue le décodage de l'URI avant de renvoyer la valeur de chaque clé, garantissant que tous les caractères sont correctement traités.

Exemple d'utilisation

Pour utiliser l'une de ces solutions, remplacez simplement "abc=foo&def=[asf]&xyz=5" par les paramètres d'URL réels que vous souhaitez convertir. Le résultat sera un objet JavaScript auquel vous pourrez accéder et manipuler selon vos besoins.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal