Android:向C#webservice发送JSON
我目前正试图将一个JSON字符串从android应用程序发送到我制作的C#webservice。Web服务代码很简单:Android:向C#webservice发送JSON,c#,java,android,json,web-services,C#,Java,Android,Json,Web Services,我目前正试图将一个JSON字符串从android应用程序发送到我制作的C#webservice。Web服务代码很简单: public void PostLocationsAndroid(字符串数据) { //做事 } 但是,我的所有请求最终都会导致数据为空。以下是我如何尝试在android应用程序中使用Web服务: 公共void postData(字符串myValue){ HttpClient HttpClient=新的DefaultHttpClient(); HttpPost HttpP
public void PostLocationsAndroid(字符串数据)
{
//做事
}
但是,我的所有请求最终都会导致数据
为空。以下是我如何尝试在android应用程序中使用Web服务:
公共void postData(字符串myValue){
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“”);
试一试{
StringEntity se=新的StringEntity(myValue);
setContentType(“application/json;charset=UTF-8”);
httppost.setEntity(se);
setHeader(“接受”、“应用程序/json”);
HttpParams params=新的BasicHttpParams();
params.setParameter(“数据”,valueIWantToSend);
httppost.setParams(params);
HttpResponse response=httpclient.execute(httppost);
}
我试过几种不同的方法,这是我最近的一次失败。你试过这个问题的答案吗
这似乎与您现在遇到的问题非常相似。您确定要传递JSON字符串吗 尝试下面的代码(我在我的代码和作品中使用过类似的代码)
是的,我尝试了一个非常类似的方法,但是我使用了一个
StringEntity
,因为我只是想发布一个JSON字符串。我仍然得到数据
为空。我想知道我是否错误地传递了我的参数?我不确定。我从来没有尝试过使用StringEntity。如果很遗憾,我不确定问题是什么:(你的web服务方法是什么样子的?试着提前调用api REST api客户端。看看你是否得到了正确的响应。如果没有,那么很可能是web服务的问题。
JSONObject jsonObject = new JSONObject();
jsonObject.put("data", valueIWantToSend);
HttpResponse httpResponse = handleJsonPost(url, jsonObject);
public HttpResponse handleJsonPost(String url, JSONObject jsonObject)
throws UnsupportedEncodingException, IOException, ClientProtocolException {
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Content-Type", "application/json");
httpPost.setHeader("Accept", "application/json");
if (jsonObject != null) {
StringEntity se = new StringEntity(jsonObject.toString());
httpPost.setEntity(se);
}
return new DefaultHttpClient().execute(httpPost);
}