fastjson是阿里巴巴旗下的一个开源项目,由温少开发。效率果然不是一般工具所能比拟的,真的very fast!
但前段时间使用时,由于没看文档,也不知道文档中有没有说明,导致遇到一些问题,最隐晦的莫过于map值为空时,fastjson是不会将其转换为字符串的,具体示例如下:
public class TestUtil { public static void main(String[] args) { Map<String,String> test = new HashMap<String,String>(); test.put("name","123"); test.put("value",null); String result = JSON.toJSONString(test); System.out.println("结果是:"+result); } }
运行结果如下:
结果是:{"name":"123"} (注意value没有处理,想输出的话需要将value设为非null)
所以,在使用fastjson进行字符串转换时,如果不想将值为空的map字段丢失,就需要进行null判断,不知道fastjson有没有相应的设置选项?主要是一般的方法基本能满足自己的需要,也就没再研究fastjson的其他配置...