当前位置: 代码迷 >> J2EE >> fastjosn使用的有关问题,进来看下
  详细解决方案

fastjosn使用的有关问题,进来看下

热度:22   发布时间:2016-04-17 23:11:34.0
fastjosn使用的问题,各位大哥进来看下。

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":""}了
  相关解决方案