微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

扒一扒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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐