0
如何在UrlEncodedFormEntity
中通過HashMap
參數?或如何解決它?我們如何在UrlEncodedFormEntity中傳遞HashMap參數..?
如何在UrlEncodedFormEntity
中通過HashMap
參數?或如何解決它?我們如何在UrlEncodedFormEntity中傳遞HashMap參數..?
我假定你的意思是這樣的:
HashMap<String, String> values = ....;
ArrayList<NameValuePair> parameters = new ArrayList<NameValuePair>();
for (Map.Entry<String, String> entry : values.entrySet()) {
parameters.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters);
編輯#2:
如果您HashMap
持有任意值記得要做到這一點,而不是:
HashMap<String, Object> map = ....; // Your map goes here
ArrayList<NameValuePair> parameters = new ArrayList<NameValuePair>();
for (Map.Entry<String, ?> entry : map.entrySet()) {
Object value = entry.getValue();
if (value instanceof Collection) {
Collection<?> values = (Collection<?>) value;
for (Object v : values) {
// This will add a parameter for each value in the Collection/List
parameters.add(new BasicNameValuePair(entry.getKey(), v == null ? null : String.valueOf(v)));
}
} else {
parameters.add(new BasicNameValuePair(entry.getKey(), value == null ? null : String.valueOf(value));
}
}
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters);
你應該申報參數作爲一個'java.util.List' – Carlo
Map map = new HashMap (); \t \t map.put(PARAM_USERNAME,username); \t \t map.put(PARAM_PASSWORD,password); \t \t map.put(PARAM_MODEL,「City」); \t \t map.put(PARAM_ACTION,「add」); \t \t map.put(「city」,city);我們如何做到這一點......? –
Singh
map.put(「city」,city);這個關聯包含另一個數組列表......只要我們將數據發送到服務器,它就會創建一個字符串......有什麼方法可以發送數據而不需要轉換爲字符串...? – Singh