如何在HttpUrlConnection请求中添加多个具有相同名称的值。
示例:
HashMap<String, String> params = new HashMap<>();
params.put("key[]", value1)
params.put("key[]", value2)
如果我尝试在邮递员中添加相同的多个值,我工作正常,应用程序将只发送一个值(取决于请求属性,URLConnection setRequestProperty vs addRequestProperty)。
我想将两个值添加为具有相同名称的参数
答案 0 :(得分:0)
'this'
或Maps
无效。
摘自HashMaps
上的Oracles文档:
http://docs.oracle.com/javase/7/docs/api/java/util/Map.html
将键映射到值的对象。地图不能包含重复的键;每个键最多可以映射一个值。
Maps
命令将替换put
中与给定key
关联的先前值(您可以将其视为基本类型的数组索引操作)。
map
州的Oracle文档:
将指定的值与此映射中的指定键相关联。如果 地图以前包含键的映射,旧值是 替换。
返回与key关联的先前值,如果有,则返回null 没有密钥映射。
这可以在这里找到: http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#put%28K,%20V%29
答案 1 :(得分:0)
或者您可以这样做,它会正常工作。
你可以像这样制作一个JSONArray
JSONArray array = new JSONArray();
array.put("value1");
array.put("value2");
//and then you can send them as parameter like this-
params.put("key", array.toString());
答案 2 :(得分:0)
params.put()
无法实现,但可以使用params.add()
参考:Difference between RequestParams add() and put() in AndroidAsyncHttp