Heim > Java > javaLernprogramm > Wie kann man URI-Abfragezeichenfolgen in Java ohne externe Bibliotheken in Name-Wert-Paare analysieren?

Wie kann man URI-Abfragezeichenfolgen in Java ohne externe Bibliotheken in Name-Wert-Paare analysieren?

Mary-Kate Olsen
Freigeben: 2024-12-24 21:34:33
Original
322 Leute haben es durchsucht

How to Parse URI Query Strings into Name-Value Pairs in Java Without External Libraries?

Parsen von URI-Strings in Name-Wert-Sammlungen

Einführung

Das Parsen von URI-Strings in ihre Bestandteile ist eine häufige Aufgabe in der Webentwicklung. Um diese Aufgabe zu erfüllen, bietet Java mehrere integrierte Funktionen und externe Bibliotheken. Dieser Artikel konzentriert sich auf eine Java-basierte Lösung zum Parsen von URI-Zeichenfolgen ohne Verwendung externer Abhängigkeiten.

Abfrageparameter analysieren

Der Abfrageteil eines URI enthält eine Reihe von Name-Wert-Paaren, die durch das getrennt sind '&'-Zeichen. Um diese Parameter in eine Karte zu analysieren, können Sie die folgende Methode verwenden:

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

Beispielverwendung

Verwenden Sie die angegebene URL als Beispiel:

https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback
Nach dem Login kopieren

The Die Methode „splitQuery“ gibt die folgende Karte zurück:

{client_id=SS, response_type=code, scope=N_FULL, access_type=offline, redirect_uri=http://localhost/Callback}
Nach dem Login kopieren

Überlegungen zur Codierung

Die Die Methode umfasst die URL-Dekodierung, um alle Sonderzeichen zu verarbeiten, die in den Parameterwerten vorhanden sind.

Verarbeitung mehrerer Parameter mit demselben Schlüssel

Eine aktualisierte Version der Methode wurde bereitgestellt, um Szenarien zu verarbeiten, in denen mehrere Parameter das haben gleichen Schlüssel. Diese Version verwendet ein Map> um alle Werte für einen bestimmten Schlüssel zu verfolgen.

Java 8-Version

Eine Java 8-Implementierung der Methode ist ebenfalls verfügbar, die Lambda-Ausdrücke und Streams für eine präzise und effiziente Lösung nutzt.

Fazit

Mit der Methode „splitQuery“ können Sie URI-Abfragezeichenfolgen problemlos in ihre einzelnen Name-Wert-Paare zerlegen ohne auf externe Bibliotheken angewiesen zu sein. Diese Funktion ist für verschiedene Webentwicklungsaufgaben unerlässlich, z. B. das Extrahieren von Benutzereingaben oder das Abrufen von Parametern von RESTful-Endpunkten.

Das obige ist der detaillierte Inhalt vonWie kann man URI-Abfragezeichenfolgen in Java ohne externe Bibliotheken in Name-Wert-Paare analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage