ホームページ >Java >&#&チュートリアル >外部ライブラリを使用せずに Java で URI クエリ文字列を名前と値のペアに解析する方法
URI 文字列を解析してその構成要素にすることは、Web 開発における一般的なタスクです。このタスクを達成するために、Java はいくつかの組み込み機能と外部ライブラリを提供します。この記事では、外部依存関係を使用せずに URI 文字列を解析するための Java ベースのソリューションに焦点を当てます。
URI のクエリ部分には、 '&' キャラクター。これらのパラメータを解析してマップにするには、次のメソッドを使用できます。
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; }
指定された URL を例として使用します。
https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback
SplitQuery メソッドは次のマップを返します:
{client_id=SS, response_type=code, scope=N_FULL, access_type=offline, redirect_uri=http://localhost/Callback}
このメソッドには、パラメーター値に存在する特殊文字を処理するための URL デコードが含まれています。
メソッドの更新バージョンが提供されています複数のパラメーターが同じキーを持つシナリオを処理します。このバージョンでは Map
このメソッドの Java 8 実装も利用できます。これは、ラムダ式とストリームを活用して、簡潔で効率的なソリューションを実現します。
splitQuery メソッドを使用すると、URI クエリ文字列をその構成要素に簡単に解析できます。外部ライブラリに依存しない名前と値のペア。この機能は、ユーザー入力の抽出や RESTful エンドポイントからのパラメーターの取得など、さまざまな Web 開発タスクに不可欠です。
以上が外部ライブラリを使用せずに Java で URI クエリ文字列を名前と値のペアに解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。