spring 返回json数据,springmvc返回json数据的三种方式
目录
返回值转成JSONString的处理主要需求描述解决方法JSON.toJSONString使用前提使用
返回值转成JSONString的处理
主要需求描述
有些返回值中的空需要转换成""或[],另外有些返回值需要把空给屏蔽掉。
解决方法
一(很lowb)
所有的返回值均采用字符串,在返回值之前,自己特殊处理成JSONString,然后返回给前端即可。
二(比较正统)
通过配置FastJsonConfig,配置类如下:
@配置公共类配置文件扩展WebMvcConfigurerAdapter { @ Override public void configureMessageConverters(lishttpmessageconverter?转换器){超级。配置消息转换器(转换器);//1.定义一个皈依者转换消息对象FastJsonHttpMessageConverter fast converter=new FastJsonHttpMessageConverter();//2.添加使用的配置信息,比如:是否要格式化返回数据数据FastJsonConfig FastJsonConfig=new FastJsonConfig();fastjsonconfig。setserializer功能(序列化程序功能.PrettyFormat,SerializerFeature .WriteNullStringAsEmpty,SerializerFeature .DisableCircularReferenceDetect,SerializerFeature .WriteNullListAsEmpty);property filter property filter=new property filter(){ @ Override public boolean apply(Object Object,String name,Object value){ if(841 value==null的消息的对象实例){ return false}返回true } }fastjsonconfig。setserializefilters(属性筛选器);快速转换器。setfastjsonconfig(fastJsonConfig);转换器。add(快速转换器);}}这里解释一下属性过滤器类中的应用方法,
首先3个参数:
对象:可以理解成需要转成数据的对象名称:字段名(属性名)值:字段值(属性值)返回值是一个布尔型值,为真实的时,则对应转成成jsonstring,为错误的时,则过滤掉。
这里类型为841的消息且它的属性字段为空时返回假的,表示此字段过滤掉。
其他类型空字段转成或[]
JSON.toJSONString
后端想将模拟类型数据返回成数据字符串
即导入并使用JSON.toJSONString
使用前提
pom.xml
依赖性groupIdcom.alibaba/groupId artifactIdfastjson/artifactId版本1 .2 .28/版本/依赖性使用页需自己写入下列语句,否则无法自行导入
导入com。阿里巴巴。快速JSON。JSON
使用
HashMapString,Object data=new HashMap();ListMainMenu主菜单=菜单Dao。getmainmenus();data.put(“数据”,主菜单);data.put(status ,200);字符串data _ JSON=JSON。tojsonstring(数据);System.out.println(成功访问!);返回data _ json以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。