[英]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.