解析URL中的携带的参数到Map
手动解析URL字符串中的参数,写了一个工具类。
1 final int MIN_ARRAY_LEN = 2;
2 final int DIVIDE_INTO_PAIRS = 2;
3
4 public Map<String, String> parseRequestParam(String url) {
5 Map<String, String> map = new HashMap<String, String>();
6 if (!url.contains("?")) {
7 return null;
8 }
9 String[] parts = url.split("\\?", DIVIDE_INTO_PAIRS);
10 if (parts.length < MIN_ARRAY_LEN) {
11 return null;
12 }
13 String parsedStr = parts[1];
14 if (parsedStr.contains("&")) {
15 String[] multiParamObj = parsedStr.split("&");
16 for (String obj : multiParamObj) {
17 parseBasicParam(map, obj);
18 }
19 return map;
20 }
21 parseBasicParam(map, parsedStr);
22 return map;
23
24 }
25
26 private void parseBasicParam(Map<String, String> map, String str) {
27 String[] paramObj = str.split("=");
28 if (paramObj.length < MIN_ARRAY_LEN) {
29 return;
30 }
31 map.put(paramObj[0], paramObj[1]);
32 }
感觉不是很完善,期待有更好的改进意见。

浙公网安备 33010602011771号