我正在尝试使用HttpClient API对服务器进行JSON调用。代码sinppet如下所示。

HttpClient httpClient = new DefaultHttpClient();
HttpGet httpPost = new HttpPost(URLString);
HttpResponse response = httpClient.execute(httpPost);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("method", "completeUserLogin"));
String[] params = new String[]{"100408"};
response = httpClient.execute(httpPost);


我想将参数添加到nameValuePairs。 BasicNameValuePair类不允许您添加数组。有什么想法吗?

提前致谢!

最佳答案

如果您以json格式发布数据,则不应发布这样的参数。而是创建一个JSONObject,将这些值放在该json对象中,并从该json对象获取一个字符串,然后创建一个StringEntity,并将此Entity设置为HttpPost对象。

为请求创建JSONObject:

JSONObject json=new JSONObject();
json.put("method", "completeUserLogin");
JSONArray arr= new JSONArray();
arr.put("100408");
json.put("params", arr);

String params=json.toString();

关于java - 在HTTP POST中设置参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12365832/

10-09 15:41
查看更多