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     }

 

 

posted @ 2018-03-30 23:05  gdwkong  阅读(6391)  评论(0编辑  收藏  举报