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 的字段。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM