我想解析以下内容:
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"]
现在我想将其转换为如下所示的 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]);
}
关于java - 如何在 Java 中将带有参数的 uri 解析为 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34322812/