import java.util.Date;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.NameFilter;
import com.alibaba.fastjson.serializer.PropertyFilter;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializeWriter;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
import com.alibaba.fastjson.serializer.ValueFilter;
public class Program{
public static void main(String[] args){
Temp temp=new Temp();
System.out.println(JSON.toJSONString(temp, SerializerFeature.WriteNullStringAsEmpty));
}
}
class Temp{
private String note;
private List<Object> list;
public List<Object> getList(){
return this.list;
}
public String getNote(){
return this.note;
}
private Date createDate;
public void setCreateDate(Date date){
this.createDate=date;
}
public Date getCreateDate(){
return this.createDate;
}
}
使用的是fastjosn-1.2.5.jar 版本的jar'包,程序能运行,输入的结果是{} 而不是{"note":""}. SerializerFeature.WriteNullStringAsEmpty完全没起到作用, 这是什么原因? 是我的环境有问题吗
------解决思路----------------------
SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullStringAsEmpty这俩都要用上
出来结果就是{"createDate":null,"list":null,"note":""}
如果只是想要单单的{"note":""}要在其他不想显示变量上面加@JSONField(serialize=false)这样的了
不过这样加了其他的属性有数据也不会显示了...
不知道有没有什么别的办法显示{"note":""}了