使用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);