您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

关于springMVC处理json数据教程

2026/1/30 0:13:39发布13次查看
本篇文章主要介绍了详解springmvc之与json数据交互方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
前台代码:
function channel(){ //先获取选中的值 var channelid = $("#channelid option:selected").val(); //来判断发送的链接 if(channelid ==2){ **需要注意地方 start** var schoolbannerinfo = { "img": channelid, "title": channelid, "info": channelid, "channelid": channelid }; **需要注意地方 end** $.ajax({ url:"ceshijson", type:"post", datatype:'json', **需要注意地方 start** contenttype:'application/json;charset=utf-8', data:json.stringify(schoolbannerinfo), **需要注意地方 end** success:function(data){ alert(data); }, error:function(xmlhttprequest, textstatus, errorthrown){ alert("error") alert(xmlhttprequest.status); alert(xmlhttprequest.readystate); alert(textstatus); } }); } }
加粗的部分是要注意的地方。
其中contenttype:'application/json;charset=utf-8'不能省掉,否则会报415错误。
毕竟我发送的是json字符串,得告诉服务器,来的数据是json数据。
json.stringify()是将javascript对象转换为json字符串
json.parse(jsonstr)是将json字符串转换为javascript对象
补充知识:json其实就是javascript的子集。
参考地址:www.jb51.net/article/35090.htm
后台代码:
pojo类:
public class schoolbannerinfo { private integer id; private date createtime; private string img; private string title; private string info; private integer seq; private integer schoolid; private string type; private boolean enable; private string link; private string channelid; }
get与set方法自己生成,这个就不贴出来了。
controller中方法:
@requestmapping(value="/ceshijson",produces="application/json;charset=utf-8") @responsebody public schoolbannerinfo ceshijson(@requestbody schoolbannerinfo schoolbannerinfo) throws ioexception{ // map<string,object> map = new hashmap<string,object>(); // map.put("channelid", channelid); // objectmapper mapper = new objectmapper(); // channelid = mapper.writevalueasstring(map); return schoolbannerinfo; }
注意:
1、@requestbody不能省,因为前台发过来的数据是json数据,得用这个注解去解析该怎么接收这些数据给pojo类的对象。
2、因为我也要返回json数据。所以需要这个注解@responsebody,把java对象转换成json字符串
3、当使用@requestbody时,要求前台传过来的数据是json字符串。如果是json对象是会出错的。所以如果你前台data部分这么写:data:{“channelid”:2},这样是不行的。因为{“channelid”:2}是json对象,你需要再在外层加个引号'{“channelid”:2}'这样才行。
4、要是方法返回值为简单类型比如:string时,该如何处理呢!
【相关推荐】
1. 特别推荐:“php程序员工具箱”v0.1版本下载
2. java免费视频教程
3. java初级入门视频教程
以上就是关于springmvc处理json数据教程的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product