我想解析以下内容:
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个变量,1个是uri,另一个是包含所有参数的字符串,格式为:
parameters = "$param1=value1&$param2=value2"
我的下一个最好的猜测就是将其拆分为&体征:
String parameters_split = parameters.split("&");
返回:
["$param1=value1", "$param2=value2"]
现在我想把它转换成一个看起来像这样的地图:
"param1":"value1",
"param2":"value2"
我不知道该如何去做。
我确信我可以通过做更多分裂来实现它,但它看起来非常低效。基本上,我想转向:
full_uri = "path/for/uri?$param1=value1&$param2=value2"
到
uri = "path/for/uri"
params = {
"param1": "value1",
"param2": "value2"
}
答案 0 :(得分:1)
这是一个使用循环的解决方案。
Map<String, String> params = new HashMap<>();
for (String s : parameters_split){
params.put(s.split("=")[0], s.split("=")[1]);
}