本篇文章给大家分享的是有关@RequestBody获取POST方式的json字符串,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
前端写法:
var json_data={ "name" : "demographics", "params" : [1 , 2, 3], "items" : [ {"name" : "中文", "value" : 10 }, {"name": "item2", "value" : 20 } ] }; $.ajax({ url : 'chart/graphics', type : 'post', data : JSON.stringify(json_data), contentType : 'application/json;charset=utf-8' //中文需要加上charset=utf-8才正确 });
后端写法
@RequestMapping(value="/{name}", method=RequestMethod.POST, produces="application/json;charset=utf-8;") @ResponseBody public String postDashboardItem( @PathVariable(value="name") String name, @RequestBody String params, Model model) { JSONObject object= JSON.parseObject(params); //do somthings return ""; //json string }
更正:
感谢alan_waker的提醒,重复做了map接收参数的实验,效果不错。
前端写法一样,
后端写法:
@RequestMapping(value="/{name}", method=RequestMethod.POST, produces="application/json;charset=utf-8;") @ResponseBody public String postDashboardItem( @PathVariable(value="name") String name, @RequestBody Map<String, Object> params, Model model) { //do somthings return ""; //json string }
需要引用 jackson-databind包,否则前端会报 415错误。后台报Content type 'application/json;charset=UTF-8' not supported。
以上就是@RequestBody获取POST方式的json字符串,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。