2015-11-23 68 views
1

如何在HttpUrlConnection請求中添加具有相同名稱的多個值。Android HttpUrlConnection使用相同的密鑰發送多個參數

例如:

HashMap<String, String> params = new HashMap<>(); 
params.put("key[]", value1) 
params.put("key[]", value2) 

,如果我嘗試在郵遞員我正常工作一樣添加多個值,應用程序將只發送一個值(取決於請求屬性,URLConnection setRequestProperty vs addRequestProperty)。

我想這兩個值具有相同名稱

+0

即使你的HashMap不會允許你添加多個鍵名稱相同。 –

+0

這是一個Hashmap,它不允許具有相同鍵名的兩個條目。它只會覆蓋你的第一個條目 – Smittey

+0

不可能... –

回答

0

參數這是不可能的MapsHashMaps增加。

從甲骨文文檔拍攝於Mapshttp://docs.oracle.com/javase/7/docs/api/java/util/Map.html

將鍵映射到值的對象。地圖不能包含重複的鍵;每個鍵可以映射到最多一個值。

put命令將替換在map給定key(你能想到的這樣對於基本類型的數組索引操作)相關聯的前一個值。

put狀態Oracle文檔:

將指定值與此映射中指定的鍵。如果 映射先前包含密鑰的映射,則替換舊值 。

返回與密鑰關聯的上一個值,如果沒有密鑰的映射,則返回null。

這可以在這裏找到: http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#put%28K,%20V%29

+0

我會改變我的API,謝謝 – HaBtibym

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()); 
相關問題