网上看到的关于FAST_JSON

** 

  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());  

具体的代码,就是上面的,挺简单的。下面来看看结果:

 
  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

我们再来看看下面的代码看看结果跟上面做个比较:

 
  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());  

再来看看结果:

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

这个时候我们看到没有识别到date,因为我们在date字段的set方法上配置了@JSONField(name = "endDate")所以其在识别的时候,是通过endDate去识别key的,而我们的json数据里根本没有endDate这个key,所以没法识别。

posted @ 2016-11-22 14:18  你走!你不走,那我走  阅读(101)  评论(0编辑  收藏  举报