本篇文章将介绍如何编写Java程序来返回Json数据,本次以三个方式进行介绍。
java返回json的方法:
方式1:当然是手敲所有代码,来进行json数据的返回。
需要 HttpHttpServletRequest request HttpServletResponse response
后台:@RequestMapping(value="/haha")
public void xxx (HttpHttpServletRequest request,HttpServletResponse response)
{ JSONObject json =new JSONObject();
json.put("result"," success")
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
PrintWriter out = null;
out = response.getWriter();
out.write(json.toString());
}
前端:$.ajax({
data : {
// userNameOrTel: $("#user").val(),
// password: $("#pwd").val()
},
type : "post",
url : "admin/login/",
dataType : "json",
contentType : "application/json;charset=utf-8",
async : false, //同步 异步
success : function(data) {
debugger;
}
}
});
方式 2: @ResponseBody 注解
后台:@ResponseBody
@RequestMapping(value="/haha")
public Msg xxx (){ return msg }
前端:$.ajax({
data : {
// userNameOrTel: $("#user").val(),
// password: $("#pwd").val()
},
type : "post",
url : "admin/login/",
dataType : "json",
contentType : "application/json;charset=utf-8",
async : false, //同步 异步
success : function(data) {
debugger;
}
}
});
方式 3 : @RestController 注解 (此类里的所以方法返回值都是 Json)
前端 :data:JSON.stringify({'channelId':channelId}),
success:function(data){
alert(data.channelId);
},
contentType:'application/json;charset=utf-8'
后台:@RequestMapping(value="/login",produces="application/json;charset=UTF-8") @ResponseBody public String test2() { }