Gson转数据时过滤某些属性

当一个类内存在一个复杂属性,而引用的复杂属性中又含有此类的复杂属性时,比如员工内有部门的属性,而部门内又存在员工属性时,使用Gson转json数据时,就会出现死循环,因而报错,需要使用Gson的过滤方法进行过滤

     //此为要过滤掉的属性数组
	 String[] gl = {"chengji","kecheng"};
	 //创建临时实例,并编写过滤规则
    	 Gson gson = new GsonBuilder().addSerializationExclusionStrategy(new ExclusionStrategy() {
			//此为转json的字段,当字段名与数组中的某个值一致时,不进行转json
			@Override
			public boolean shouldSkipField(FieldAttributes fa) {
				for (String s : gl) {
					if(s.equals(fa.getName())){
						return true;
					}
				}
				return false;
			}
			
			@Override
			public boolean shouldSkipClass(Class<?> arg0) {
				// TODO Auto-generated method stub
				return false;
			}
		}).create();
		 String json = gson.toJson(list);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值