如何在HTTPPOST请求中将ArrayList <integer>作为UrlEncodedFormEntity发送?</integer>

时间:2014-12-01 20:05:50

标签: java android arraylist http-post post-parameter

您好我尝试将ArrayList作为POST请求的参数从我的Android应用程序发送到服务器。到目前为止,我有这段代码:

HttpResponse response;

        List<NameValuePair> postParams = new ArrayList<NameValuePair>(2);
        postParams.add(new BasicNameValuePair("post[text]", text));
        postParams.add(new BasicNameValuePair("post[common_comments]", String.valueOf(commonComments));
        postParams.add(new BasicNameValuePair("post[wall_ids]", wallIds);

        UrlEncodedFormEntity encodedParams;
        try {
            encodedParams = new UrlEncodedFormEntity(postParams);
            post.setEntity(encodedParams);
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
        }

但BasicNameValuePair仅接收String作为值。有什么办法可以发送一个ArrayList作为post [wall_ids]的值吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

布宜诺斯艾利斯卡拉 我不知道你是否解决了这个问题(两个月是很多时间)......但也许它可以帮助你:

 for(String wallyID: wallyIDs)
      postParams.add(new BasicNameValuePair("extraFields[wallyIDs][]", wallyID));

如果你想使用拉丁字符(这会让服务器忘记),使用“utf 8”格式也会很好,例如:

  HttpClient httpclient = new DefaultHttpClient(); 
  HttpPost httppost = new HttpPost(url);
  httppost.setEntity(new UrlEncodedFormEntity(postParams, HTTP.UTF_8));

我有一个关于List构造函数的问题...为什么你使用2作为它的参数??

PS:我想做一个问题,而不是答案,因为我不知道它是否可以按你的意愿运作。