UrlEncodedFormEntity的替代方案,用于通过POST发送数据

时间:2013-09-28 06:45:54

标签: android json web-services post

使用UrlEncodedFormEntity发送POST请求时,该请求将List作为输入参数以及密钥,我的请求将以[key={json}]的形式转换。

但我要发送的请求应采用key={json}的形式,即不是列表。

那么,在使用POST时,给定方法有什么替代方法吗?

注意: webservice工作正常,因为它是json,我不能使用Soap。

我使用POSTman进行了测试,而webservices是WCF(如果有任何用途......)

如果需要任何代码,请提及。 提前谢谢。

修改代码:

            HttpClient client = new DefaultHttpClient();
            HttpPost request = new HttpPost(URL); 
            List<NameValuePair> value=new ArrayList<NameValuePair>(); 
            value.add(new BasicNameValuePair("data",string)); 

            //here it passes as List and here is where i want an alternate method 
            // by which i can send parameter as JSONobject
            UrlEncodedFormEntity entity=new UrlEncodedFormEntity(value);                
            request.setEntity(entity); 

            HttpResponse response = client.execute(request);
            HttpEntity entity2 = response.getEntity();
            if(entity2.getContentLength() != 0) {
                Reader tapReader = new InputStreamReader(response.getEntity().getContent());               
                char[] buffer = new char[(int) response.getEntity().getContentLength()];              
                tapReader.read(buffer);          
                tapReader.close();                                                                                           
                JSONObject tapJsonObj =  new JSONObject(buffer);

0 个答案:

没有答案