Heim > Java > javaLernprogramm > Wie extrahiere ich Name-Wert-Paare aus einer URI-Abfragezeichenfolge in Java?

Wie extrahiere ich Name-Wert-Paare aus einer URI-Abfragezeichenfolge in Java?

DDD
Freigeben: 2024-12-26 22:35:13
Original
856 Leute haben es durchsucht

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

Eingebettete Daten aus URIs mit Java extrahieren

Das Parsen einer URI-Zeichenfolge in die entsprechenden Name-Wert-Paare ist eine häufige Aufgabe in vielen Webentwicklungen Szenarien. In Java können Sie diesen Vorgang erreichen, ohne auf externe Bibliotheken angewiesen zu sein, indem Sie einen unkomplizierten Ansatz anwenden.

Schritt-für-Schritt-Anleitung:

  1. Teilen Sie die URI-Abfragezeichenfolge auf:
    Erhalten Sie mit der Methode URL.getQuery() den Abfragezeichenfolgenteil des URI. Die Abfragezeichenfolge ist der Teil nach dem Fragezeichen (?) und enthält Schlüssel-Wert-Paare, die durch das kaufmännische Und-Zeichen (&) getrennt sind.
  2. Getrennte Schlüssel-Wert-Paare:
    Aufgeteilt Zerlegen Sie die Abfragezeichenfolge mithilfe der Methode String.split("&") in einzelne Schlüssel-Wert-Paare.
  3. Parsen Schlüssel-Wert-Paare:
    Suchen Sie für jedes Schlüssel-Wert-Paar das Gleichheitszeichen (=), um den Schlüssel vom Wert zu trennen. Dekodieren Sie sowohl den Schlüssel als auch den Wert mit einer geeigneten Codierung, z. B. URLDecoder.decode().
  4. Name-Wert-Sammlung erstellen:
    Erstellen Sie eine Kartendatenstruktur, um den analysierten Schlüssel zu speichern -Wertepaare.

Beispiel Implementierung:

Der folgende Java-Code zeigt, wie die oben genannten Schritte implementiert werden:

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;
    }

}
Nach dem Login kopieren

Beispielverwendung:

Zum Parsen der Wenn Sie den URI in Ihrer Frage angeben, können Sie den folgenden Code verwenden:

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"
Nach dem Login kopieren

Dieser Ansatz bietet eine bequeme und vielseitige Möglichkeit um Informationen zu extrahieren, die in URI-Abfragezeichenfolgen in Java eingebettet sind.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Name-Wert-Paare aus einer URI-Abfragezeichenfolge in Java?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage