使用springMVC如何实现与json数据进行交互?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
前台代码:
加粗的部分是要注意的地方。
其中contentType: & # 39; application/json; charset=utf - 8 # 39;不能省掉,否则会报415错误。
毕竟我发送的是json字符串,得告诉服务器,来的数据是json数据。
JSON.stringify()是将JavaScript对象转换为json字符串
JSON.parse (jsonstr)是将json字符串转换为JavaScript对象
补充知识:json其实就是JavaScript的子集。
参考地址:https://www.jb51.net/article/35090.htm
后台代码:
pojo类:
公共类SchoolBannerInfo { 私人整数id; 私人createTime日期; 私人字符串img; 私人字符串标题; 私人字符串信息; 私人整数seq; 私人整数schoolId; 私人字符串类型; 私人布尔启用; 私人字符串链接; 私人字符串channelId; }获取与设置方法自己生成,这个就不贴出来了。
控制器中方法:
@RequestMapping (value=https://www.yisu.com/zixun/?ceshijson”,产生=癮pplication/json; charset=utf - 8”) @ResponseBody 公共SchoolBannerInfo ceshijson (@RequestBody SchoolBannerInfo SchoolBannerInfo)抛出IOException {//地图<字符串、对象>=new HashMap <字符串、对象> ();//地图。把(“channelId”, channelId);//objectmap mapper=new objectmap ();//channelId=mapper.writeValueAsString(地图); 返回schoolBannerInfo; }<>强注意:
强>1, @RequestBody不能省,因为前台发过来的数据是json数据,得用这个注解去解析该怎么接收这些数据给pojo类的对象。
2,因为我也要返回json数据,所以需要这个注解@ResponseBody,把Java对象转换成json字符串
3,当使用@RequestBody时,要求前台传过来的数据是json字符串。如果是json对象是会出错的,所以如果你前台数据部分这么写:数据:{“channelId”: 2},这样是不行的。因为{“channelId”: 2}是json对象,你需要再在外层加个引号& # 39;{“channelId”: 2} & # 39;这样才行。
4,要是方法返回值为简单类型比如:字符串时,该如何处理呢!
看完上述内容,你们掌握使用springMVC如何实现与json数据进行交互的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
使用springMVC如何实现与json数据进行交互