• 网上看到的关于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,所以没法识别。

  • 相关阅读:
    Java日期时间差以及获取几天后或几天前
    java数组扩增的三种方式
    折半查找、冒泡排序和选择排序
    JavaSE-Map的三种循环
    Chrome浏览器showModalDialog兼容性及解决方案
    Integeter127与128
    statis代码块以及非static代码块之执行
    return、break、continue区别以及作用范围
    nodeJs + vue.js 小案例
    cordova CLI 命令
  • 原文地址:https://www.cnblogs.com/my-blocg/p/6089117.html
Copyright © 2020-2023  润新知