首页 > 代码库 > FastJson序列化时忽略特定属性
FastJson序列化时忽略特定属性
在之前的工作中,一直用jackson来处理json串转换的问题,有些时候我们经常有忽略某些属性的情况,个人比较习惯jackson的注解的方式,而且也是比较灵活的,分别提供了@JsonIgnoreProperties,@JsonIgnore等。
而FastJson中,并没有提供类似的方式,而是提供了各种filter机制来实现的,具体可以参考:https://github.com/alibaba/fastjson/wiki/%E5%AE%9A%E5%88%B6%E5%BA%8F%E5%88%97%E5%8C%96
下面是个小例子:
主要是通过FastJson自带的SimplePropertyPreFilter这个类实现,其他我们自己可以实现上面文档里面的各种filter接口
Person.java:
1 /** 2 * 3 */ 4 package json; 5 6 /** 7 * 测试fastjson序列化时忽略制定属性 8 * 9 * @author bells10 * 11 */12 public class Person {13 14 private int age;15 16 private String name;17 18 private int height;19 20 private int weight;21 22 public Person() {23 24 }25 26 public Person(int age, String name, int height, int weight) {27 this.age = age;28 this.name = name;29 this.height = height;30 this.weight = weight;31 }32 33 public int getAge() {34 return age;35 }36 37 public void setAge(int age) {38 this.age = age;39 }40 41 public String getName() {42 return name;43 }44 45 public void setName(String name) {46 this.name = name;47 }48 49 public int getHeight() {50 return height;51 }52 53 public void setHeight(int height) {54 this.height = height;55 }56 57 public int getWeight() {58 return weight;59 }60 61 public void setWeight(int weight) {62 this.weight = weight;63 }64 65 }
Main.java:
1 /** 2 * 3 */ 4 package json; 5 6 import com.alibaba.fastjson.JSON; 7 import com.alibaba.fastjson.serializer.SimplePropertyPreFilter; 8 9 /**10 * 测试fastjson序列化时忽略制定属性11 * 12 * @author bells13 * 14 */15 public class Main {16 17 /**18 * @param args19 */20 public static void main(String[] args) {21 22 Person person = new Person(26, "bells", 172, 60);23 24 SimplePropertyPreFilter filter = new SimplePropertyPreFilter(); // 构造方法里,也可以直接传需要序列化的属性名字25 26 filter.getExcludes().add("age"); // SimplePropertyPreFilter 里面有两个Set,分别为27 // excludes和includes,这两个Set的作用非常明显。28 29 System.out.println(JSON.toJSONString(person, filter));30 31 }32 33 }
FastJson序列化时忽略特定属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。