簡體   English   中英

如何使用Java將帶有參數的uri解析為Map

[英]How to parse a uri with parameters into a Map in Java

我想解析以下內容:

full_uri= "path/for/uri?$param1=value1&$param2=value2

以給我uri作為字符串和參數作為映射的方式。 我現在正在嘗試的是:

String[] full_uri_split = full_uri.split("\\?");
String uri = full_uri_split[0];
String parameters = full_uri_split[1];

這給了我2個變量,一個是uri,另一個是一個包含所有參數的字符串,格式為:

parameters = "$param1=value1&$param2=value2"

我的下一個最佳猜測是在&符號上進行拆分:

String parameters_split = parameters.split("&");

返回:

["$param1=value1", "$param2=value2"]

現在,我想將其轉換為如下所示的Map:

"param1":"value1",
"param2":"value2"

我不確定該怎么做。

我相信我可以通過進行更多拆分來使其正常工作,但是效率似乎非常低。 所以本質上,我想轉:

full_uri = "path/for/uri?$param1=value1&$param2=value2"

uri = "path/for/uri"
params = {
    "param1": "value1",
    "param2": "value2"
}

這是使用循環的解決方案。

Map<String, String> params = new HashMap<>();
for (String s : parameters_split){
    params.put(s.split("=")[0], s.split("=")[1]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM