Spring中使用FastJson返回json数据

本文介绍了在Spring和SpringBoot中如何利用FastJson来处理并返回JSON数据。通过使用JSONObject工具类的toJSONString方法,可以将结果转换为JSON字符串,同时避免循环引用的问题。在SpringBoot中,可以通过继承WebMvcConfigurerAdapter并覆盖configureMessageConverters方法来自定义SerializerFeature。而在传统的Spring MVC中,可以在spring-mvc.xml配置文件中进行相应的设置。更多细节可参考FastJson的官方文档。
摘要由CSDN通过智能技术生成

使用JSONObject工具类

JSONObject.toJSONString(result, SerializerFeature.DisableCircularReferenceDetect);
后面需要制定SerializerFeature

直接使用Spring中的HttpMessageConverter

springboot中 :

  1. 继承WebMvcConfigurerAdapter
  2. 复写configureMessageConverters
  3. 定义SerializerFeature
  4. 添加配置

     FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    
    //自定义配置...
    FastJsonConfig config = new FastJsonConfig();
    
    SerializerFeature[] serializerFeatures = new SerializerFeature[]{
      //    输出key是包含双引号
      SerializerFeature.QuoteFieldNames,
      //    是否输出为null的字段,若为null 则显示该字段
      SerializerFeature.WriteMapNullValue,
      //    数值字段如果为null,则输出为0
      SerializerFeature.WriteNullNumberAsZero,
      //     List字段如果为null,输出为[],而非null
      SerializerFeature.WriteNullListAsEmpty,
      //    字符类型字段如果为null,输出为"",而非null
      SerializerFeature.WriteNullStringAsEmpty,
      //    Boolean字段如果为null,输出为false,而非null
      SerializerFeature.WriteNullBooleanAsFalse,
      //    Date的日期转换器
      SerializerFeature.WriteDateUseDateFormat,
      //    循环引用
      SerializerFeature.DisableCircularReferenceDetect,
    };
    
    config.setSerializerFeatures(serializerFeatures);
    config.setCharset(Charset.forName("UTF-8"));
    //  Date 没问题
    config.setDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    
    //config.set 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值