第一种方式:通过实体类的方式在服务器端接受JSON数据格式,记得JSON中的属性需要跟类的属性想匹配。
页面代码示例:
function test(){
var jon ={name:"测试",pass:"1234"};
$.ajax({
type: "POST",
url: "testFanTai1.do",
data:jon,
success: function(msg) {
var resmsg = eval_r("("+msg+")");
alert(resmsg.name+"---"+resmsg.pass);
}
})
}
Action代码示例:
@RequestMapping(value="/testFanTai1")
public @ResponseBody String testFanTai1(UserTest user){
String result =
"{"name":""+user.getName()+"","pwd":""+user.getPass()+""}";
return result;
}
第二种方式:服务器以字符串的方式获取JSON数据,但是数据要进行转码。
页面代码示例:
function test(){
var jon ={name:"测试",pass:"1234",id:4};
$.ajax({
type: "POST",
url: "testFanTai1.do",
contentType:"application/json",
data: JSON.stringify(jon),
success: function(msg) {
var resmsg = eval_r("("+msg+")");
alert(resmsg.name+"---"+resmsg.pass);
}
})
}
Action代码示例:
@RequestMapping(value="/testFanTai1")
public @ResponseBody String testFanTai1(@RequestBody String jon) throws UnsupportedEncodingException{
String result =URLDecoder.decode(jon, "UTF-8"); //可以用,也可以不用
//字符串转换为JSONObject对象,然后JSONObject对象转换为Map对象
JSONObject jsonObject = JSONObject.fromObject(result);
Map map = jsonObject;
return result;
}
第三种方式:直接以字符串的方式提交。
页面代码示例:
function test(){
var jon ={name:"测试",pass:"1234",id:4};
$.ajax({
type: "POST",
url: "testFanTai1.do",
contentType:"application/json",
data: "jon="+jon,
success: function(msg) {
var resmsg = eval_r("("+msg+")");
alert(resmsg.name+"---"+resmsg.pass);
}
})
}
Action代码示例:
@RequestMapping(value="/testFanTai1")
public @ResponseBody String testFanTai1(String jon) throws UnsupportedEncodingException{
String result =URLDecoder.decode(jon, "UTF-8"); //可以用,也可以不用
//字符串转换为JSONObject对象,然后JSONObject对象转换为Map对象
JSONObject jsonObject = JSONObject.fromObject(result);
Map map = jsonObject;
return result;
}
第四种方式:Action以Map的方式接收JSON数据。
页面代码示例:
function test(){
var jon ={name:"测试",pass:"1234",id:4};
$.ajax({
type: "POST",
url: "testFanTai1.do",
contentType:"application/json",
data: JSON.stringify(jon),
success: function(msg) {
var resmsg = eval_r("("+msg+")");
alert(resmsg.name+"---"+resmsg.pass);
}
})
}
Action代码示例:
@RequestMapping(value="/testFanTai1")
public @ResponseBody String testFanTai1(@RequestBody Map info) {
JSONObject json = JSONObject.fromObject(info);
String result =json.toString();
return result;
}