Maison > Java > javaDidacticiel > Comment extraire des paires nom-valeur d'une chaîne de requête URI en Java ?

Comment extraire des paires nom-valeur d'une chaîne de requête URI en Java ?

DDD
Libérer: 2024-12-26 22:35:13
original
857 Les gens l'ont consulté

How to Extract Name-Value Pairs from a URI Query String in Java?

Extraire les données intégrées des URI à l'aide de Java

L'analyse d'une chaîne URI dans ses paires nom-valeur correspondantes est une tâche courante dans de nombreux développements Web. scénarios. En Java, vous pouvez réaliser cette opération sans recourir à des bibliothèques externes en appliquant une approche simple.

Guide étape par étape :

  1. Divisez la chaîne de requête URI :
    À l'aide de la méthode URL.getQuery(), obtenez la partie chaîne de requête de l'URI. La chaîne de requête est la partie située après le point d'interrogation (?) et contient des paires clé-valeur séparées par le caractère esperluette (&).
  2. Paires clé-valeur séparées :
    Split la chaîne de requête en paires clé-valeur individuelles à l'aide de la méthode String.split("&").
  3. Analyser la valeur-clé Paires :
    Pour chaque paire clé-valeur, localisez le signe égal (=) pour séparer la clé de la valeur. Décodez à la fois la clé et la valeur à l'aide d'un encodage approprié, tel que URLDecoder.decode().
  4. Construisez une collection nom-valeur :
    Créez une structure de données cartographiques pour stocker la clé analysée. -paires de valeurs.

Échantillon Implémentation :

Le code Java suivant montre comment implémenter les étapes ci-dessus :

import java.net.URL;
import java.net.URLDecoder;
import java.util.LinkedHashMap;
import java.util.Map;

public class ParseUriQuery {

    public static Map<String, String> splitQuery(URL url) throws UnsupportedEncodingException {
        Map<String, String> queryPairs = new LinkedHashMap<>();
        String query = url.getQuery();
        String[] pairs = query.split("&");
        for (String pair : pairs) {
            int idx = pair.indexOf("=");
            queryPairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
        }
        return queryPairs;
    }

}
Copier après la connexion

Exemple d'utilisation :

Pour analyser le URI fourni dans votre question, vous pouvez utiliser le code suivant :

URL url = new URL("https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback");
Map<String, String> queryPairs = ParseUriQuery.splitQuery(url);

// Access parsed elements
String clientId = queryPairs.get("client_id"); // Returns "SS"
Copier après la connexion

Cette approche offre un moyen pratique et polyvalent d'extraire informations intégrées dans les chaînes de requête URI en Java.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal