Url地址参数解析工具代码

简单的解析key=value这种形式的数据,不支持数组类型的数据,正常够用了

public class UrlUtil {

    /**
     * 取url中的参数
     * @param url
     * @return
     */
    public static Map<String, String> getParameter(String url) {
        Map<String, String> param = new HashMap<>();
        //先decode一下
        try {
            url = URLDecoder.decode(url, StandardCharsets.UTF_8.name());
        } catch (UnsupportedEncodingException ignore) {}
        //解析参数
        int startIndex = url.indexOf('?');
        if (startIndex != -1) {
            String paramStr = url.substring(startIndex + 1);
            String[] keyValues = paramStr.split("&");
            for (String keyValue : keyValues) {
                int separatorIndex = keyValue.indexOf("=");
                if (separatorIndex != -1) {
                    param.put(keyValue.substring(0, separatorIndex), keyValue.substring(separatorIndex + 1));
                } else {
                    //没有等号的情况,value认为null
                    param.put(keyValue, null);
                }
            }
        }
        return param;
    }

}

觉得内容还不错?打赏个钢镚鼓励鼓励!!👍