SpringMVC-Controller中怎么返回Json 和.post接受返回值一个JSON转成对象

博客分类:
上周帮同事看一个问题,是想构造一个万能的query对象,这个对象里面包含一个泛型的对象,在spring mvc的controller层想通过RequestBody直接进行转换,spring mvc的代码如下:
@RequestMapping("/testBind")
@ResponseBody
public String testBind(@RequestBody MgQueryCondition&TestBean& queryCondition){
System.out.println(queryCondition);
return "success";
import java.io.S
public class TestBean implements Serializable{
public Integer getId() {
public void setId(Integer id) {
public String toString() {
return "TestBean [id=" + id + "]";
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONO
import com.alibaba.fastjson.TypeR
public class MgQueryCondition&T& {
private Integer pageNo;
private Integer pageN
public T getModel() {
public void setModel(T model) {
this.model =
public Integer getPageNo() {
return pageNo;
public void setPageNo(Integer pageNo) {
this.pageNo = pageNo;
public Integer getPageNum() {
return pageN
public void setPageNum(Integer pageNum) {
this.pageNum = pageN
public String toString() {
return "MgQueryCondition [model=" + model + ", pageNo=" + pageNo
+ ", pageNum=" + pageNum + "]";
假设我们去调试的话,发现MgQueryCondition里面的数据类型是JSONObject,如果如果在调用getModel的时候就会发生类型转换问题,后来我看了下fastjson的文档。
针对泛型类型,使用TypeReference进行解析,代码如下:
public static void main(String[] args) {
MgQueryCondition&TestBean& test = new MgQueryCondition&TestBean&();
TestBean testBean = new TestBean();
testBean.setId(1);
test.setModel(testBean);
test.setPageNo(1);
test.setPageNum(1);
System.out.println(JSONObject.toJSONString(test));
String json = "{\"model\":{\"id\":1},\"pageNo\":1,\"pageNum\":1}";
MgQueryCondition&TestBean& clazz = JSON.parseObject(json,
new TypeReference&MgQueryCondition&TestBean&&(){});
System.out.println(clazz.getModel().getClass());
这样我们就无法使用@RequestBody了,所以应该使用最基本的kv结构的进行传参。
浏览: 838342 次
来自: 北京
ddnzero 写道博主请问FileUtils这个类是哪个包的 ...
博主请问FileUtils这个类是哪个包的?还是自己的呢?能放 ...
为什么会intMap.get(&bbb&) ...
感觉LogManager打开了所有的LogSegment(文件 ...springMVC框架中controller不能将ModelMap 变成json字符串返回【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:651,885贴子:
springMVC框架中controller不能将ModelMap 变成json字符串返回收藏
springMVC框架中 ,如果controller像下面这样写的话,不能将ModelMap 变成json返回到页面上,如果参数列表中没有HttpServletResponse response 的话就可以,谁知道是为什么呀?我不想自己拼json,怎么解决呢?@RequestMapping(value = "/delete")public String delete(HttpServletRequest request,
HttpServletResponse response,
HttpSession session, ModelMap model) {
model.addAttribute("msg", "字符串!");}
2017java学习来上市公司博为峰学java,入学即签就业协议,不就业不收费,查看java课程!java好学吗?java课程来博为峰学,java工程师就业年薪十几万!
@RequestMapping(value = "/delete")@ResponseBodypublic String delete(HttpServletRequest request,HttpServletResponse response)msg="字符串"}
登录百度帐号推荐应用鍗氬?鍒嗙被锛

我要回帖

更多关于 jpa 接口接受返回值 的文章

 

随机推荐