fasjson 版本1.2.47测试成功
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
在版本1.2.7下测试无效
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version> </dependency>
测试bean
package com.xx; import java.io.Serializable; import java.util.List; public class Bean implements Serializable{ private Integer id; private String name; private List<Bean> cBean; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Bean> getcBean() { return cBean; } public void setcBean(List<Bean> cBean) { this.cBean = cBean; } }
测试类
package com.xx; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.serializer.SerializerFeature; public class Test { public static void main(String[] args) { Bean bean = new Bean(); bean.setId(1); Bean bean2 = new Bean(); bean2.setName("Aaron"); List<Bean> list = new ArrayList<Bean>(); list.add(bean); list.add(bean2); /** * bean -> json str */ String tmp = JSON.toJSONString(bean,SerializerFeature.WriteNullStringAsEmpty); System.err.println(tmp); /** * list bean -> json str */ String str = JSONArray.toJSONString(list, SerializerFeature.WriteNullStringAsEmpty, //字符转“” SerializerFeature.WriteNullNumberAsZero, //Number转0 SerializerFeature.WriteNullListAsEmpty); //list转 “” System.err.println(str); } }
Fastjson的SerializerFeature序列化属性
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null