扒一扒fastJson使用当中的一些坑

前端之家收集整理的这篇文章主要介绍了扒一扒fastJson使用当中的一些坑前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一直以来,我一直认为在开发中,很多国产的东西。对国内开发人员来说是很好上手的。不管是大家说的过度封装也好,还是文化原因也好。但是就我个人而言一直觉得国内,尤其是阿里系的一些开源软件是很好的。比如说fastjson,dubbo,durid。

今天我要说的是fastjson。但是不是fastjson与gson什么的效率对比问题。因为我这么久以来,待过的公司还没遇到过要将较大数据量的数据转成json的。所以fastjson还是够用的,不会为生产带来什么效率问题。在使用过程中也遇到过一些坑。

正文开始:

一、对于fastjson的空值处理,fastjson在将java对象转为json字符串的过程中。对于空属相默认是不转换的。也就是说如果你转json,如果有个属性为空,转成的json中,该属相将会不存在。解决这一问题只用这样写:

String requestJson = JSON.toJSONString(cm2BaseRequest,SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullStringAsEmpty);

二、json在将java对象转json时。默认首字母小写。这样有些全大写的属性,也会被小写。解决这一问题。有两种方法,其一是在转换的类的构造静态代码块。如下:

public class TestUtil{

    static{
        TypeUtils.compatibleWithJavaBean = true;
    }

    public staitc String parseJson(Object obj){
        JSON.parseJson(obj);
    }

}

其二,配置系统环境变量fastjson.compatibleWithJavaBean 值true

猜你在找的Json相关文章