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.
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; }
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
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}
Die Die Methode umfasst die URL-Dekodierung, um alle Sonderzeichen zu verarbeiten, die in den Parameterwerten vorhanden sind.
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
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.
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!