springboot 返回json问题
大家好,最近接触了springboot,对json可能有点误解。我的理解:controller返回json要使用@ResponseBody,或者@RestControll...
大家好,最近接触了springboot,对json可能有点误解。
我的理解:controller返回json要使用@ResponseBody,或者@RestController,添加的fastjson的jar包只是替换点它自身默认的转换方式,使用fastjson转换(可能是性能上更快吧),fastjson只是个工具,要返回json数据还是 spring的注解
疑问:1.网上查看资料时有的说,返回json可以使用gosn.toJson(object),可以不添加注解@ResponseBody 我试了试不行(我的是fastJson.toJson)没有注解并不行啊?
2.@ResponseBody跟引入的第三方工具 fastJson、gosn、还是 jsckjson是什么关系? 展开
我的理解:controller返回json要使用@ResponseBody,或者@RestController,添加的fastjson的jar包只是替换点它自身默认的转换方式,使用fastjson转换(可能是性能上更快吧),fastjson只是个工具,要返回json数据还是 spring的注解
疑问:1.网上查看资料时有的说,返回json可以使用gosn.toJson(object),可以不添加注解@ResponseBody 我试了试不行(我的是fastJson.toJson)没有注解并不行啊?
2.@ResponseBody跟引入的第三方工具 fastJson、gosn、还是 jsckjson是什么关系? 展开
1个回答
展开全部
第一个问题
不加responsebody的话,应该是不行的,因为spring mvc的话,默认会根据controller的返回值去映射view,加了responsebody就不会去映射view而是直接返回到response的body里面
第二个问题
一般的restfule接口或者ajax调用,都要求返回的是json格式的字符串,这样方便解析。如果是controller里面返回的是字符串,那么response就直接将字符串返回,如果是对象,那么需要使用一些格式化工具,将java对象转为字符串在返回。所以我的认知是,fastjson啥的只是一个转换工具,跟responsebody本身没啥直接联系,只是json工具比较方便我们开发restful或者ajax接口的工具
不加responsebody的话,应该是不行的,因为spring mvc的话,默认会根据controller的返回值去映射view,加了responsebody就不会去映射view而是直接返回到response的body里面
第二个问题
一般的restfule接口或者ajax调用,都要求返回的是json格式的字符串,这样方便解析。如果是controller里面返回的是字符串,那么response就直接将字符串返回,如果是对象,那么需要使用一些格式化工具,将java对象转为字符串在返回。所以我的认知是,fastjson啥的只是一个转换工具,跟responsebody本身没啥直接联系,只是json工具比较方便我们开发restful或者ajax接口的工具
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询