自定义Spring MVC3的参数映射和返回值映射 + fastjson
自定义Spring MVC3的参数映射和返回值映射 + fastjson
首先说一下场景:在一些富客户端Web应用程序中我们会有比较多的Ajax调用,并且希望与服务器交互的数据需要是复杂的JSON对象。 fastjon是一个非常高效的JSON序列化和反序列化库,我希望我们输入的JSON串能通过fastjson直接反序列化为一个复杂的JavaBean对象,同时我的返回值能够能通过fastjson序列化为JSON串。
所谓复杂的JavaBean就是,不仅仅只有一层属性,而是属性也是JavaBean的情况, 例如:
var data = { name : "matianyi", id : 12345, birthday : "1983-07-01 01:12:12", addresses : [ { street : "street1", number : 1 }, { street : "street2", number : 2 } ]};var link = $(this);$.ajax({ url:"/spring-sample/fastjson1", dataType:"json", type:"POST", contentType: "application/json", data : JSON.stringify(data), success : function(obj){ console.log(obj); }});
两点需要注意:
contentType: "application/json"data : JSON.stringify(data)
这样JavaScript的对象会被转换为JSON串,并且最为HttpRequest的BODY传给服务器。