如何从java发送json字符串到.NET REST服务?

Ads*_*Ads 3 .net android web-services

我正在尝试从我的Android客户端发送一个json字符串到我的.net Rest服务...任何人都可以帮我解决这个问题吗?

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://myURL");

 JSONObject json = new JSONObject();
 json.put("name", "i am sample");
 StringEntity str = new StringEntity(json.toString());
 str.setContentType("application/json; charset=utf-8");
 str.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json; charset=utf-8"));
 post.setEntity(str);
 HttpResponse response = client.execute(post);
Run Code Online (Sandbox Code Playgroud)

响应是不好的要求.我发送json对象作为字符串?这段代码是否正确?

Ads*_*Ads 7

解决方案是

HttpPost request = new HttpPost("http://10.242.48.54/restinsert/Service1.svc/save");
JSONStringer json = new JSONStringer()
.object() 
 .key("cname").value(name)
 .key("cmail").value(email)

.endObject();

StringEntity entity = new StringEntity(json.toString(), "UTF-8");
                     entity.setContentType("application/json;charset=UTF-8");//text/plain;charset=UTF-8
                     entity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json;charset=UTF-8"));
                     request.setEntity(entity); 
                     // Send request to WCF service 
                     DefaultHttpClient httpClient = new DefaultHttpClient();

                     HttpResponse response = httpClient.execute(request); 
Run Code Online (Sandbox Code Playgroud)

这将发送json对象字符串,所以在.net中请求应该有对象参数...