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

Posted gdwkong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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     }

 

 

以上是关于FastJson的忽略字段和格式日期用法的主要内容,如果未能解决你的问题,请参考以下文章

fastjson的基本用法,fastjson对日期的处理

关于FastJSON对象转字符串,对象有字段为null会自动忽略

Fastjson @JsonField注解使用

list 转 jsonString 忽略字段

Newtonsoft.Json高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的

fastjson 将字符串转Java对象 日期序列化异常 日期格式报错解决