提供一个解析queryString的类
时间: 2024-03-23 18:43:16 浏览: 59
好的,以下是一个Java实现的解析queryString的类:
```java
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
public class QueryStringParser {
public static Map<String, String> parse(String query) throws UnsupportedEncodingException {
Map<String, String> result = new HashMap<>();
if (query == null || query.isEmpty()) {
return result;
}
String[] pairs = query.split("&");
for (String pair : pairs) {
int idx = pair.indexOf("=");
String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair;
String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), "UTF-8") : null;
result.put(key, value);
}
return result;
}
}
```
该类可以将queryString解析成一个Map对象,其中queryString是以`key1=value1&key2=value2`的形式传递的。调用方式如下:
```java
String queryString = "name=John%20Doe&age=30&city=New%20York";
Map<String, String> params = QueryStringParser.parse(queryString);
System.out.println(params.get("name")); // 输出:John Doe
System.out.println(params.get("age")); // 输出:30
System.out.println(params.get("city")); // 输出:New York
```
阅读全文