🔔
JSON 语法 | 菜鸟教程
为实现浏览器与控制器类之间的 JSON 数据交互,
Spring MVC 提供了 MappingJackson2HttpMessageConverter 实现类默认处理 JSON 格式请求响应。该实现类利用 Jackson 开源包读写 JSON 数据,将 Java 对象转换为 JSON 对象和 XML 文档,同时也可以将 JSON 对象和 XML 文档转换为 Java 对象。
在使用注解开发时需要用到两个重要的 JSON 格式转换注解,
分别是 @RequestBody 和 @ResponseBody
-
@RequestBody:用于将请求体中的数据绑定到方法的形参中,该注解应用在方法的形参上
-
@ResponseBody:用于直接返回 return 对象,该注解应用在方法上。
1.1 引入jackson
项目依赖于:
jackson-databind-2.12.0.jar jackson-annotations-2.12.0.jar jackson-core-2.12.0.jar
在pom.xml文件中只需要加入下面的依赖 其它两个会自动下载文章来源:https://www.toymoban.com/news/detail-562527.html
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.0</version>
</dependency>
1.2 编写POJO
@Data
public class Good {
String name;
double price;
int num;
}
1.3 编写Controller
@Controller
public class GoodController {
@PostMapping("/goods")
public ModelAndView test(@RequestBody Good good){
ModelAndView mv=new ModelAndView();
mv.addObject("msg",
"商品名称:"+good.getName()+
",商品价格:"+good.getPrice()+
",商品数量:"+good.getNum());
mv.setViewName("good");
return mv;
}
//使用idea中 RestfulTool工具插件设置
//假如写了一个相同的地址会执行哪一个?
@GetMapping("/goods")
public Good test2(){
Good g=new Good();
g.setName("苹果");
g.setPrice(89);
g.setNum(20);
return g;
}
@RequestMapping(value = "/good/save",method={RequestMethod.POST})
@ResponseBody
public Good save(@RequestBody Good good){
System.out.println(good.toString());
return good;
}
}
good页面:文章来源地址https://www.toymoban.com/news/detail-562527.html
<%@page pageEncoding="UTF-8" language="java" contentType="text/html;UTF-8" %>
<html>
<body>
<h1>商品详情页</h1>
<p>${msg}</p>
</body>
</html>
1.4 Map接收
@RequestMapping(value = "/good/save2",method={RequestMethod.POST})
@ResponseBody
public Map test (@RequestBody Map map){
//第一种方式
/* Set<Map.Entry<String, Object>> set=map.entrySet();;
Iterator<Map.Entry<String, Object>> it=set.iterator();
while(it.hasNext()){
Map.Entry<String, Object> entry=it.next();
System.out.println(entry.getKey()+"=="+entry.getValue());
}*/
//第二种方式遍历
/* Set<String> s1=map.keySet();
for (String key : s1) {
Object value = map.get(key);
System.out.println(key+"==="+value);
}*/
// 第三种方式遍历 lamubda表达式
map.forEach((key,value)->{
if(key !=null){
System.out.println(key+"==="+value);
}
});
return map;
}
到了这里,关于Spring MVC JSON 数据交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!