首页 > 其他分享 >解析URL中的携带的参数到Map

解析URL中的携带的参数到Map

时间:2023-01-04 15:24:43浏览次数:39  
标签:Map return String map URL parsedStr paramObj 解析

手动解析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     }
复制代码

感觉不是很完善,期待有更好的改进意见。

标签:Map,return,String,map,URL,parsedStr,paramObj,解析
From: https://www.cnblogs.com/kn-zheng/p/17024925.html

相关文章

  • java LinkedHashMap学习
    一、LinkedHashMap概述LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。LinkedHashMap是Map接口的哈希表......
  • urllib基本使用
    urllib基本使用​ 官方文档:https://docs.python.org/zh-cn/3/library/urllib.html​ Pythonurllib库用于操作网页URL,并对网页的内容进行抓取处理,包含4个模块:request、......
  • mapbox-unity-sdk学习小结
    Mapbox不是一个专门的增强现实SDK,是一个移动和网络应用程序的位置数据平台,提供构建基块,将地图,搜索和导航等位置功能。国内基于地理定位的增强现实开发的时候,其实很麻烦。Goo......
  • Go Map底层实现原理
    GoMap底层实现原理Gomapmap是一种key-value的键值对存储结构,其中key不能重复,底层用hash表存储。平日里我们一般是这样使用map的://创建//map[KeyType]ValueType......
  • Json-Tutorial03 字符串解析
    前言学习了Json字面量解析和数值解析后,本节我们将完成Json的单个字符串解析。Json中的字符串是以""修饰的。代码设计1.编写lept_get_boolean()等访问函数的单元测试,......
  • 【collection】5.Map关键子类源码剖析
    Map源码剖析HashMap&LinkedHashMap&HashtablehashMap默认的阈值是0.75HashMapput操作put操作涉及3种结构,普通node节点,链表节点,红黑树节点,针对第三种,红黑树节点,我......
  • 集合6 - HashMap
    HashMapHash--Hash算法根据key计算hash函数来存放数据、处理冲突(链地址法-红黑二叉树)=>无序存储,重复丢弃Map--键值对<key,value>中key是唯一的,作为value的索引......
  • hadoop中MapReduce配置
    一,配置mapred-site.xml进入以入目录[root@hadoop01hadoop]#cd/home/software/hadoop-2.7.1/etc/hadoop复制mapred-site.xml示例文件[root@hadoop01hadoop]#cpmapred-s......
  • Apache HTTPD 换行解析漏洞(CVE-2017-15715)
    1.漏洞原理ApacheHTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,a.php\x0a将被按照PHP后缀进行解析,导致绕过......
  • UMLChina建模竞赛题答案及解析(新增试卷7-9套解析)
    建模竞赛题比起《软件方法》书中的题目要更难一些,可以作为熟悉了《软件方法》中的基本知识之后的进一步练习。题目颇有些陷阱,应一些同学的要求,挑部分题目给出答案并详细讲解......