一直以来,我一直认为在开发中,很多国产的东西。对国内开发人员来说是很好上手的。不管是大家说的过度封装也好,还是文化原因也好。但是就我个人而言一直觉得国内,尤其是阿里系的一些开源软件是很好的。比如说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
原文链接:https://www.f2er.com/json/288937.html