FastJson只序列化java对象的部分属性

public class Student {
  
  private int id;
  private String name;
  private int age;

  //get set方法略
}
如下方法:
Student student = new Student(0, "Aaron", 24);
System.out.println(JSON.toJSONString(student,true));
输出为:
{
"age":24,
"id":0,
"name":"Aaron"
}

如果我们想要将实体类中的某个字段或某几个不进行解析呢?那么我们可以使用transient 关键字,来标记它为不需要的,在fastjson中还提供了一种便捷的方法来自定义我们需要序列化的字段,

SimplePropertyPreFilter filter = new SimplePropertyPreFilter(实体类.class, "字段1","字段2"); //字段为我们需要序列化的字段,如果实体类中没有改字段则不解析放弃该字段而不会报错。
SimplePropertyPreFilter filter = new SimplePropertyPreFilter(Student.class, "id","age");
String jsonStu =JSON.toJSONString(students,filter);

这样就只会序列化 id和age 的字段。



posted on 2015-10-12 11:12  duanxz  阅读(7516)  评论(0编辑  收藏  举报