json:剔除多余的属性的写法

本文介绍如何利用FastJSON库中的PropertyFilter特性来过滤敏感字段,通过实例展示了如何排除订单数据中的用户电话号码和ID等信息,确保了数据的安全性和隐私保护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.背景:

 根据查询结果,剔除多余的属性,结果:

PageBean [currentPage=1, totalPage=4, pageSize=3, totalNum=12, list=[Order [orderNum=1, receiverInfo=sd, price=888.00, customer=Customer [id=3, cusName=张liu, cusImgsrc=null, cusPhone=1231sdf23]], Order [orderNum=10, receiverInfo=sf, price=788.00, customer=Customer [id=3, cusName=张liu, cusImgsrc=null, cusPhone=1231sdf23]], Order [orderNum=11, receiverInfo=dg, price=788.00, customer=Customer [id=3, cusName=张liu, cusImgsrc=null, cusPhone=1231sdf23]]]]二.
二.使用的包:
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.serializer.PropertyFilter;
import com.alibaba.fastjson.serializer.SerializerFeature;
三.代码
PropertyFilter filter = new PropertyFilter() {
			@Override
			public boolean apply(Object arg0, String fieldName, Object arg2) {
				if ("cusPhone".equalsIgnoreCase(fieldName)) {
					return false;
				}
				if ("id".equalsIgnoreCase(fieldName)) {
					return false;
				}
				if ("orders".equalsIgnoreCase(fieldName)) {
					return false;
				}

				return true;
			}
		};
		String json = JSONArray.toJSONString(pageBean, filter, SerializerFeature.DisableCircularReferenceDetect);
		System.out.println(json);
三.结果:
json:{"currentPage":1,"list":[{"customer":{"cusName":"张liu"},"orderNum":"1","price":888.00,"receiverInfo":"sd"},{"customer":{"cusName":"张liu"},"orderNum":"10","price":788.00,"receiverInfo":"sf"},{"customer":{"cusName":"张liu"},"orderNum":"11","price":788.00,"receiverInfo":"dg"}],"pageSize":3,"totalNum":12,"totalPage":4}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值