java将map拼接成“参数=值&参数=值”
Java将Map拼接成“参数=值&参数=值”
把一个map的键值对拼接成“参数=值&参数=值”即“username=angusbao&password=123456”这种形式方便传递,尤其是在接口调用的时候,这种方式使用的更加普遍,比如http请求的get方式,如何用java对其进行解决呢?
代码如下:
/**
* 把数组所有元素排序,并按照“参数=参数值”的模式用“&”字符拼接成字符串
* @param params 需要排序并参与字符拼接的参数组
* @return 拼接后字符串
* @throws UnsupportedEncodingException
*/
public static String createLinkStringByGet(Map<String, String> params) throws UnsupportedEncodingException {
List<String> keys = new ArrayList<String>(params.keySet());
Collections.sort(keys);
String prestr = "";
for (int i = 0; i < keys.size(); i++) {
String key = keys.get(i);
String value = params.get(key);
value = URLEncoder.encode(value, "UTF-8");
if (i == keys.size() - 1) {//拼接时,不包括最后一个&字符
prestr = prestr + key + "=" + value;
} else {
prestr = prestr + key + "=" + value + "&";
}
}
return prestr;
}
public static void main(String[] args) throws UnsupportedEncodingException {
Map<String,String> map= new HashMap<String,String>();
map.put("1", "hello");
map.put("2", "world");
System.out.println(createLinkStringByGet(map));
}
最后结果为:1=hello&2=world
最新文章
- ANDROID STDUIO 项目里的R文件突然丢失的解决办法N种之一
- sqlserver查询数据的所有表名和行数
- 微信网页授权snsapi_base、snsapi_userinfo的问题
- 深入理解css中的margin属性
- Hadoop中操作HDFS出现异常的解决方法
- Reactor 与 Proactor
- 如何通过源码生成Gatling可执行工具
- WPF Event 在 Command 中的应用初级篇,支持所有Event 展示松耦合设计的全部代码 - 解决TextBoxBase.TextChanged或者TextBox.TextChanged等类似事件绑定问题。
- 激动啊,终于诞生了,编译了属于俺自己的 JDK
- pythong下的unittest框架
- HTML: Dom event
- 从String.valueOf(null)说起
- 【Python3练习题 012】 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- 不裸缩点》。。。POJ2186受欢迎的牛
- hive学习05 参数设置
- 【Java入门提高篇】Day24 Java容器类详解(七)HashMap源码分析(下)
- python---网络之邮件发送
- HTML5 文件API
- UK 更新惊魂记
- Redux和React-Redux的实现(一):Redux的实现和context