Java Android向Spring发送json
弹簧控制器Java Android向Spring发送json,java,android,json,ajax,spring,Java,Android,Json,Ajax,Spring,弹簧控制器 @RequestMapping(value = "/login", produces="application/json;charset=UTF-8" ,method = RequestMethod.POST) @ResponseBody public int checkLoginInfo(@RequestParam Map<String, String> params) { User user=new Gson().fromJson((String) p
@RequestMapping(value = "/login", produces="application/json;charset=UTF-8" ,method = RequestMethod.POST)
@ResponseBody
public int checkLoginInfo(@RequestParam Map<String, String> params) {
User user=new Gson().fromJson((String) params.get("user"), User.class);
return userService.getUserInfo(user);
}
它在网站上运行。
但我不知道如何为android发送Json对象
data:{user:JSON.stringify(params)}
我已经测试过了
private static String makeJsonMsg() {
String retMsg = "";
JSONStringer jsonStringer = new JSONStringer();
try {
retMsg = jsonStringer.object()
.key("user").object()
.key("userid").value("userid")
.key("password").value("1234")
.endObject()
.endObject().toString();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retMsg;
}
就这样,,
但是返回500个错误。
我是否需要添加标题或其他内容?简单的方法
public void postData(String url,JSONObject obj) {
// Create a new HttpClient and Post Header
HttpParams myParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(myParams, 10000);
HttpConnectionParams.setSoTimeout(myParams, 10000);
HttpClient httpclient = new DefaultHttpClient(myParams );
String json=obj.toString();
try {
HttpPost httppost = new HttpPost(url.toString());
httppost.setHeader("Content-type", "application/json");
StringEntity se = new StringEntity(obj.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
String temp = EntityUtils.toString(response.getEntity());
Log.i("tag", temp);
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
}
如何使用
JSONObject requestObject = new JSONObject();
requestObject.put("userid", email);
requestObject.put("password", password);
postData("http://your/login/url",requestObject)
有关更多信息,请查看。postData
方法的积分用于
希望这有帮助 错误500表示存在服务器端问题。您需要包含异常堆栈跟踪,没有异常堆栈跟踪的代码不足以诊断问题。如果您认为问题是重复的标记,请不要复制粘贴另一个答案。我遵循发布有价值代码的原则,而不是发送到某个链接,并始终为您获得此方法的位置提供积分。顺便说一句,我在@Sachin Gurnani上贴了一个例子,说明如何根据用户的需要使用它。
JSONObject requestObject = new JSONObject();
requestObject.put("userid", email);
requestObject.put("password", password);
postData("http://your/login/url",requestObject)