ホームページ > Java > &#&チュートリアル > Java で URI クエリ文字列から名前と値のペアを抽出する方法

Java で URI クエリ文字列から名前と値のペアを抽出する方法

DDD
リリース: 2024-12-26 22:35:13
オリジナル
856 人が閲覧しました

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

Java を使用して URI から埋め込みデータを抽出する

URI 文字列を対応する名前と値のペアに解析することは、多くの Web 開発で一般的なタスクですシナリオ。 Java では、直接的なアプローチを適用することで、外部ライブラリに依存せずにこの操作を実現できます。

ステップバイステップ ガイド:

  1. URI クエリ文字列を分割します:
    URL.getQuery() メソッドを使用して、クエリ文字列部分を取得します。 URI。クエリ文字列は疑問符 (?) の後の部分で、アンパサンド (&) 文字で区切られたキーと値のペアが含まれます。
  2. 個別のキーと値のペア:
    分割String.split("&") メソッドを使用して、クエリ文字列を個々のキーと値のペアに変換します。
  3. Parseキーと値のペア:
    キーと値のペアごとに、等号 (=) を見つけてキーと値を区切ります。 URLDecoder.decode() などの適切なエンコーディングを使用してキーと値の両方をデコードします。
  4. 名前と値のコレクションを構築します:
    解析されたキーを保存するマップ データ構造を作成します。 -値ペア。
  5. ​​

サンプル実装:

次の Java コードは、上記の手順を実装する方法を示しています。

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

}
ログイン後にコピー

使用例:

質問で提供された URI は、次を使用できます。 code:

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"
ログイン後にコピー

このアプローチは、Java の URI クエリ文字列に埋め込まれた情報を抽出するための便利で多用途な方法を提供します。

以上がJava で URI クエリ文字列から名前と値のペアを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート