欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot之FastJson实现封装的Json数据指定字段属性隐藏小工具

程序员文章站 2024-01-31 08:31:22
...

背景:

       在开发项目中发现有个需求,那就是传输的Json数据中在字段值为空或者int属性值为0的时候自动实现该字段值的隐藏,然后传输,便于接收服务的处理,我们将会采用FastJson来实现该功能。

步骤:

首先:测试代码如下所示,核心部分就是在需要过滤字段的地方进行一下判断。

apply函数参数分别表示对象,要过滤的属性字段,以及字段的值。
    @Test
    void test4() {
        Book book = new Book();
        book.setId(1);
        book.setName("gcg");
        book.setPrice("20");
        System.out.println("过滤前的对象属性:" + JSON.toJSONString(book));
        PropertyFilter profilter = new PropertyFilter() {

            @Override
            public boolean apply(Object object, String name, Object value) {
                if (name.equalsIgnoreCase("name") && value.equals("gcg")) {
                    return false;
                }
                return true;
            }
        };
        System.out.println("过滤后的对象属性:" + JSON.toJSONString(book, profilter));
    }

测试结果如下:

过滤前的对象属性:{"id":1,"name":"gcg","price":"20"}
过滤后的对象属性:{"id":1,"price":"20"}