在前后端交互中,数据传递是必不可少的,而json作为一种轻量级的数据交换格式,被广泛应用于web开发中。在很多情况下,我们需要传递多个参数,而json传递多个参数是十分方便的。下面我们来看一下如何使用json传递俩个参数。
//客户端
var data = {"username": "lihua", "password": "123456"}; //将俩个参数放入一个json对象中
$.ajax({
type: "POST",
url: "/login",
data: JSON.stringify(data), //使用JSON.stringify将json对象转换为json字符串
contentType: "application/json;charset=utf-8",
success: function(result){
console.log(result);
},
error: function(){
alert("请求失败");
}
});
//服务端
@RequestMapping(value="/login", method=RequestMethod.POST)
@ResponseBody
public String login(@RequestBody String jsonStr){ //使用@RequestBody注解获取请求体内的json字符串
JSONObject jsonObject = JSON.parseObject(jsonStr); //使用fastjson将json字符串转换为json对象
String username = jsonObject.getString("username");
String password = jsonObject.getString("password");
//省略登录逻辑......
return "登录成功";
}

在客户端,我们将参数放入一个json对象中,并使用JSON.stringify将json对象转换为json字符串,将数据作为请求的数据体发送给服务端。服务端通过@RequestBody注解将请求体内的json字符串获取到,使用fastjson将json字符串转换为json对象,然后就可以获取参数进行相应的处理。