apache httppost如何设置内容:其中名称值对指向另一组名称值对

时间:2011-08-10 23:23:16

标签: java android apache http

例如,如果我们需要发送此格式的内容,我们该怎么做 { “NAME1”:[{ “name11”: “value11”},{ “name11”: “value12”},{ “name11”: “value13”}], “NAME2”:VALUE2}

我知道如何设置基本类型 { “NAME1”: “VALUE1”, “NAME2”:VALUE2}

NameValuePair[] nameValuePairs = new NameValuePair[2];   
            nameValuePairs[0]= new BasicNameValuePair("name1", "value1");
            nameValuePairs[1] = new BasicNameValuePair("name2", value2);

httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

我们如何实现嵌套

1 个答案:

答案 0 :(得分:7)

请参阅this问题,因为它有几个可以帮助您的答案。以下是答案代码的简短摘录:

HttpPost request = new HttpPost(serverUrl);
request.setEntity(new ByteArrayEntity(
    postMessage.toString().getBytes("UTF8")));
HttpResponse response = client.execute(request);

另一个答案说你可以这样做:

protected void sendJson(final String email, final String pwd) {

                HttpClient client = new DefaultHttpClient();
                HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit
                HttpResponse response;
                JSONObject json = new JSONObject();
                try{
                    HttpPost post = new HttpPost(URL);
                    json.put("email", email);
                    json.put("password", pwd);
                    StringEntity se = new StringEntity( "JSON: " + json.toString());  
                    se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
                    post.setEntity(se);
                    response = client.execute(post);
                    /*Checking response */
                    if(response!=null){
                        InputStream in = response.getEntity().getContent(); //Get the data in the entity

                }
                catch(Exception e){
                    e.printStackTrace();
                    createDialog("Error", "Cannot Estabilish Connection");
                }

           }
相关问题