fastjson(十一)使用SimplePropertyPreFilter过滤属性
2018-01-27 14:47
465 查看
需要根据不同的环境返回定制化返回属性时,可以使用SimplePropertyPreFilter。
SimplePropertyPreFilter的代码接口如下:
你可以配置includes、excludes(使用getIncludes()、getExcludes()方法获得对象引用进行设置)。当class不为null时,针对特定类型;当class为null时,针对所有类型。
当includes的size > 0时,属性必须在includes中才会被序列化,excludes优先于includes。
来看一下示例代码:
示例对象:
测试类:
输出结果:
SimplePropertyPreFilter的代码接口如下:
public class SimplePropertyPreFilter implements PropertyPreFilter { public SimplePropertyPreFilter(String... properties){ this(null, properties); } public SimplePropertyPreFilter(Class<?> clazz, String... properties){ // ... ... } public Class<?> getClazz() { return clazz; } public Set<String> getIncludes(); public Set<String> getExcludes(); /** * @since 1.2.9 */ public int getMaxLevel(); /** * @since 1.2.9 */ public void setMaxLevel(int maxLevel) //... }
你可以配置includes、excludes(使用getIncludes()、getExcludes()方法获得对象引用进行设置)。当class不为null时,针对特定类型;当class为null时,针对所有类型。
当includes的size > 0时,属性必须在includes中才会被序列化,excludes优先于includes。
来看一下示例代码:
示例对象:
package json.fastjson.filter.globalFilter; public class VO { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
测试类:
package json.fastjson.filter.globalFilter; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SimplePropertyPreFilter; public class TestGlobalFilter { public static void main(String[] args) { VO vo = new VO(); vo.setId(123); vo.setName("flym"); SimplePropertyPreFilter filter = new SimplePropertyPreFilter(VO.class, "name"); System.out.println(filter.getExcludes()); System.out.println(filter.getIncludes()); System.out.println(JSON.toJSONString(vo, filter)); } }
输出结果:
[] [name] {"name":"flym"}
相关文章推荐
- FastJson-fastjson的简单使用(alibaba)
- perl6 JSON::Fast模块json解析的使用
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- 使用FastJSON,将对象或数组和JSON串互转
- Android 中Json解析的几种框架(Gson、Jackson、FastJson、LoganSquare)使用与对比
- 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】
- FastJson的使用
- 使用FastJson解析Json数据
- FastJson使用文档
- 关于Android studio 使用fastjson报错的解决方法
- 使用Fastjson提示No serializer found for class
- fastjson使用示例
- fastjson使用(二) -- JSON类的使用
- FastJson简单使用
- fastjson使用实例
- 【职坐标】使用FastJson创建Java Json解析工具类
- 使用com.alibaba.fastjson.JSONObject构造简单的JSON数据
- fastjson使用(五) -- @JSONField使用
- com.alibaba.fastjson.JSONObject的使用
- SpringBoot(十):SpringBoot使用FastJson