fastjson的@JSONField注解


@JSONField
作用:在字段和方法上
1.Field:@JSONField作用在Field時,name可以定義輸入key的名字,反序列化的時 值不會賦值到屬性上
2.作用在setter和getter方法上
 /** * bean 轉json 時會把bean中的name轉換為project_name * */ @JSONField(name="project_name") public String getName() { return name; } /** * son 轉bean 時會把json中的project_name值賦值給name * */ @JSONField(name="project_name") public void setName(String name) { name= name; }

  3.format :用在Date類型的字段來格式化時間格式

  4.布爾類型:serialize和deserialize

    在序列化的時候就不包含這個字段了。deserialize與之相反。但是有一點需要注意,當字段為final的時候注解放在字段上是不起作用的,這時候應該放在get或set方法上。

@JSONField(serialize=false) private String name

  5.serialzeFeatures 屬性:fastjson默認的序列化規則是當字段的值為null的時候,是不會序列化這個字段

 
        
{"name":"LiSi","age":18,"address":null}
  對象序列化下邊的類,結果是:{"name":"LiSi","age":18}
Student s =  new Student (); s.setName("LiSi"); s.setAge(18); s.setAdderss(null);

  6.SerializerFeature枚舉:

@JSONField(serialzeFeatures=SerializerFeature.WriteMapNullValue) private String address;

當value的值為null的時候,依然會把它的值序列化出來: {"name":"LiSi","age":18,"address":null}

當字段類型為int類型時,會序列化成 0,需要把類型改成Integer

 
       


免責聲明!

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



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