在请求中将对象数组作为url参数传递

时间:2012-10-26 20:01:59

标签: android http httprequest

我需要在http请求的url中放置一个对象数组(每个对象有2个字段)作为参数。我该怎么做?这个链接应该怎么样?

2 个答案:

答案 0 :(得分:1)

最佳解决方案是以json或xml格式发送http post请求。

答案 1 :(得分:1)

您可以使用您的结构制作一个xml,即每个有两个字段的对象数组,然后将其转换为字符串, 例如,

       String  input = String.format("<Request><Data><Id>%s</Id></Data> 
       </Request>",studentIdSelected);

然后使用input和url作为发布数据的参数来调用此方法,

       public static String retriver(String Url, String input) {

    String responseString = null;
    StringEntity stringEntity;
    HttpPost postRequest = new HttpPost(Url);
    try {

        Log.e("string is", input + "\n" + Url);
        stringEntity = new StringEntity(input, "UTF-8");
        stringEntity.setContentType("application/atom+xml");

        postRequest.setEntity(stringEntity);
        Log.v("Post", "Posted");
        HttpClient httpclient = new DefaultHttpClient();
        HttpResponse response = httpclient.execute(postRequest);  
        HttpEntity getResponseEntity = response.getEntity();

        responseString = EntityUtils.toString(getResponseEntity);

    } catch (Exception e) {
        // TODO: handle exception
        postRequest.abort();
        Log.w("HttpPostRetreiver", "Error for URL " + Url, e);
    }

    return responseString;

}

或者你也可以使用json。