網上看到的關於FAST_JSON

** java

  1.  * @Title: getDate  
  2.  * @Description: 配置序列化的時候,日期序列化爲startDate 
  3.  * @return Date 
  4.  */  
  5. @JSONField(name = "startDate")  
  6. public Date getDate() {  
  7.     return date;  
  8. }  
  9.       
  10. /** 
  11.  * @Title: setDate  
  12.  * @Description: 配置反序列化的時候,以endDate去匹配 
  13.  * @param date 
  14.  * @return void 
  15.  */  
  16. @JSONField(name = "endDate")  
  17. public void setDate(Date date) {  
  18.     this.date = date;  
  19. }  
  20.       
  21. /** 
  22.  * @Title: getId  
  23.  * @Description: 配置序列化的時候,不序列化id 
  24.  * @return int 
  25.  */  
  26. @JSONField(serialize = false)  
  27. public int getId() {  
  28.     return id;  
  29. }  
  30.       
  31. /** 
  32.  * @Title: setId  
  33.  * @Description: 配置反序列化的時候,不反序列化id 
  34.  * @return void 
  35.  */  
  36. @JSONField(deserialize = false)  
  37. public void setId(int id) {  
  38.     this.id = id;  
  39. }  
 
  1. // 序列化  
  2. Uo2 u = new Uo2();  
  3. u.setId(1);  
  4. u.setName("LiLei");  
  5. u.setAge(25);  
  6. u.setDate(new Date());  
  7. u.setSex("男");  
  8. // @JSONField配置了,不序列化id,date序列化爲startDate  
  9. System.out.println(JSON.toJSONString(u));  
  10.           
  11. // 反序列化  
  12. String jsonStr = "{\"id\":10,\"age\":25,\"name\":\"LiLei\",\"sex\":\"男\",\"endDate\":1451984687404}";  
  13. // @JSONField配置了,不反序列化id,date的匹配name爲endDate  
  14. Uo2 uo = JSON.parseObject(jsonStr, Uo2.class);  
  15. System.out.println(uo.toString());  

具體的代碼,就是上面的,挺簡單的。下面來看看結果:json

 
  1. {"age":25,"name":"LiLei","sex":"男","startDate":1451985134688}  
  2. User [id=0, name=LiLei, age=25, sex=男, date=Tue Jan 05 17:04:47 CST 2016]  


咱們看到id既沒有序列化也沒有反序列化,date字段序列化的時候變爲了startDate
this

咱們再來看看下面的代碼看看結果跟上面作個比較:spa

 
  1. // 反序列化  
  2. String jsonStr = "{\"id\":10,\"age\":25,\"name\":\"LiLei\",\"sex\":\"男\",\"startDate\":1451984687404}";  
  3. // @JSONField配置了,不反序列化id,date的匹配name爲endDate  
  4. Uo2 uo = JSON.parseObject(jsonStr, Uo2.class);  
  5. System.out.println(uo.toString());  

再來看看結果:ip

 
  1. User [id=0, name=LiLei, age=25, sex=男, date=null]  

這個時候咱們看到沒有識別到date,由於咱們在date字段的set方法上配置了@JSONField(name = "endDate")因此其在識別的時候,是經過endDate去識別key的,而咱們的json數據里根本沒有endDate這個key,因此無法識別。get

相關文章
相關標籤/搜索