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的其他配置...