java将map拼接成“参数=值&参数=值”

Posted 流年煮雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 





























以上是关于java将map拼接成“参数=值&参数=值”的主要内容,如果未能解决你的问题,请参考以下文章

Map转化成url拼接请求参数

Map转化成url拼接请求参数

Java进阶之光!java将数组拼接成一个字符串

java中如何将多个list集合对象拼接成一个集合对象

java 求大神 帮忙写下如何将map或者list转换成javabean

Java中如何把字符串转换成map