fastjson常用示例
1.簡單的Object轉Json
Student student = new Student(1,"zangsan",15,1);
System.out.println(JSON.toJSONString(student));
2.指定序列化欄位(只有id和name會被序列化)
Student student = new Student(1, "zangsan", 15, 1);
SimplePropertyPreFilter sppf = new SimplePropertyPreFilter(Student.class, "id", "name");
System.out.println(JSON.toJSONString(student, sppf));
3.SerializerFeature釋義
QuoteFieldNames———-輸出key時是否使用雙引號,預設為true
WriteMapNullValue——–是否輸出值為null的欄位,預設為false
WriteNullNumberAsZero—-數值欄位如果為null,輸出為0,而非null
WriteNullListAsEmpty—–List欄位如果為null,輸出為[],而非null
WriteNullStringAsEmpty—字元型別欄位如果為null,輸出為”“,而非null
WriteNullBooleanAsFalse–Boolean欄位如果為null,輸出為false,而非null
4.使用SerializeFilter定製序列化:
通過SerializeFilter可以使用擴充套件程式設計的方式實現定製序列化。fastjson提供了多種SerializeFilter:
PropertyPreFilter: 根據PropertyName判斷是否序列化;
PropertyFilter: 根據PropertyName和PropertyValue來判斷是否序列化;
NameFilter: 修改Key,如果需要修改Key,process返回值則可;
ValueFilter: 修改Value;
BeforeFilter: 序列化時在最前新增內容;
AfterFilter: 序列化時在最後新增內容;
以上的SerializeFilter在JSON.toJSONString中可以使用。
5.日期格式化
1>
@JSONField (format="yyyy-MM-dd HH:mm:ss")
public Date birthday;
2>
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";String str = JSON.toJSONString(user,SerializerFeature.WriteDateUseDateFormat);