• FastJson的忽略字段和格式日期用法


     1、指定序列化顺序

      缺省fastjson序列化一个java bean,是根据fieldName的字母序进行序列化的,你可以通过ordinal指定字段的顺序。这个特性需要1.1.42以上版本。

     1 public static class VO {
     2     @JSONField(ordinal = 3)
     3     private int f0;
     4 
     5     @JSONField(ordinal = 2)
     6     private int f1;
     7 
     8     @JSONField(ordinal = 1)
     9     private int f2;
    10 }

    2、fastjson 忽略字段:

     1 public void test01(){
     2         List<User> list = new ArrayList<>();
     3 
     4         User user1 = new User("lisi", 14);
     5         User user2 = new User("zs", 18);
     6 
     7         list.add(user1);
     8         list.add(user2);
     9 
    10         System.out.println("未忽略字段前:"+JSONArray.toJSON(list));//未忽略前:[{"name":"lisi","age":14},{"name":"zs","age":18}]
    11 
    12         SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
    13         filter.getExcludes().add("age");
    14         System.out.println("忽略字段后:"+JSONObject.toJSONString(list, filter));//忽略后:[{"name":"lisi"},{"name":"zs"}]
    15     }

    3、fastjson 格式化日期:

    1  public void test01() {
    2 
    3         User lisi = new User("lisi", 13, new Date());
    4         System.out.println(lisi);//User{name='lisi', age=13, date=Fri Mar 30 22:00:48 CST 2018}
    5         System.out.println(JSON.toJSONStringWithDateFormat(lisi, "yyyy-MM-dd HH:mm:ss.SSS"));
    6         //{"age":13,"date":"2018-03-30 21:59:33.204","name":"lisi"}
    7 
    8     }

    4、抽取忽略字段形成工具:

     1     /**
     2      * @param list
     3      * @param args 排除字段
     4      * @return
     5      */
     6     public static String list2Json(List list,String[] args){
     7         if (args != null && args.length>0){
     8             SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
     9             for (String arg : args) {
    10                 filter.getExcludes().add(arg);
    11             }
    12             return JSONObject.toJSONString(list, filter);
    13         }
    14         return JSONObject.toJSONString(list);
    15     }
  • 相关阅读:
    linux-nohup后台运行
    linux-友好显示文件大小
    System.exit(0)会跳过finally块的执行
    Spark-scala-API
    Lua协程-测试3
    Lua协程-测试2
    Lua协程
    费马大定理
    Spring事务超时、回滚的相关说明
    springboot测试service层的单元测试
  • 原文地址:https://www.cnblogs.com/gdwkong/p/8679207.html
Copyright © 2020-2023  润新知