java:url编码列表和Map?

7ivaypg9  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(135)

我试图用内容类型对post请求的值Map进行编码 application/x-www-form-urlencoded . 关于值是字符串时如何编码,到处都有很多示例:

URLEncoder.encode(key, "UTF-8") + "=" + URLEncoder.encode(value, "UTF-8")

但是如果我有一个值列表(或者一个Map)要编码,我该怎么做呢?例如:

List<String> names = Arrays.asList("john", "peter", "mary");
URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(names.toString(), "UTF-8")

我在召唤 toString() 但我不认为生成的编码是正确的。作为参考,我正在查看js库表单urlencoded(https://www.npmjs.com/package/form-urlencoded)首先将列表转换为:

name[0]=john&name[1]=peter&name[2]=mary

然后生成以下结果:

name%5B0%5D=john&name%5B1%5D=peter&name%5B2%5D=mary

有没有一种方法可以在java中实现同样的功能?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题