类com.alibaba.fastjson.serializer.PropertyFilter源码实例Demo

下面列出了怎么用com.alibaba.fastjson.serializer.PropertyFilter的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: metrics   文件: MetricObjectSerializationTest.java
@Test
public void testPartiallySerialize() {
    PropertyFilter filter = new PropertyFilter() {

        public boolean apply(Object source, String name, Object value) {
            boolean ignore = "value".equals(name) || "timestamp".equals(name);
            return !ignore;
        }
    };

    MetricObject obj = MetricObject.named("test").withLevel(MetricLevel.CRITICAL)
            .withType(MetricObject.MetricType.GAUGE).build();
    String json = JSON.toJSONString(obj, filter); // 序列化的时候传入filter
    JSONObject des = JSON.parseObject(json);
    Assert.assertTrue(des.containsKey("metric"));
    Assert.assertEquals("test", des.getString("metric"));
    Assert.assertTrue(des.containsKey("metricLevel"));
    Assert.assertEquals("CRITICAL", des.getString("metricLevel"));
    Assert.assertTrue(des.containsKey("metricType"));
    Assert.assertEquals("GAUGE", des.getString("metricType"));
}
 
源代码2 项目: canal-1.1.3   文件: JsonUtils.java
/**
 * 可以允许指定一些过滤字段进行生成json对象
 */
public static String marshalToString(Object obj, String... fliterFields) {
    final List<String> propertyFliters = Arrays.asList(fliterFields);
    SerializeWriter out = new SerializeWriter();
    try {
        JSONSerializer serializer = new JSONSerializer(out);
        serializer.getPropertyFilters().add(new PropertyFilter() {

            public boolean apply(Object source, String name, Object value) {
                return !propertyFliters.contains(name);
            }

        });
        serializer.write(obj);
        return out.toString();
    } finally {
        out.close();
    }
}
 
源代码3 项目: feeyo-hlsserver   文件: JsonUtils.java
/**
 * 可以允许指定一些过滤字段进行生成json对象
 */
public static String marshalToString(Object obj, String... fliterFields) {
    final List<String> propertyFliters = Arrays.asList(fliterFields);
    SerializeWriter out = new SerializeWriter();
    try {
        JSONSerializer serializer = new JSONSerializer(out);
        serializer.getPropertyFilters().add(new PropertyFilter() {

            public boolean apply(Object source, String name, Object value) {
                return !propertyFliters.contains(name);
            }

        });
        serializer.write(obj);
        return out.toString();
    } finally {
        out.close();
    }
}
 
源代码4 项目: game-server   文件: JsonUtil.java
/**
 * 对象转json
 * <p>
 * 需要jsonFiled注解
 * </p>
 *
 * @param object a {@link java.lang.Object} object.
 * @return a {@link java.lang.String} object.
 */
public static String toJSONString(Object object) {
	SerializeWriter out = new SerializeWriter();
	try {
		Map<String, Field> fieldCacheMap = new HashMap<>();
		ParserConfig.parserAllFieldToCache(object.getClass(), fieldCacheMap);
		JSONSerializer serializer = new JSONSerializer(out);
		PropertyFilter filter = (Object source, String name, Object value) -> {
			Field field = ParserConfig.getFieldFromCache(name, fieldCacheMap);
			if (field != null) {
				JSONField fieldAnnotation = field.getAnnotation(JSONField.class);
				if (fieldAnnotation != null) {
					return true;
				}
				return false;
			}
			return true;
		};
		serializer.getPropertyFilters().add(filter);
		serializer.write(object);
		return out.toString();
	} finally {
		out.close();
	}
}
 
源代码5 项目: feeyo-redisproxy   文件: JsonUtils.java
/**
 * 可以允许指定一些过滤字段进行生成json对象
 */
public static String marshalToString(Object obj, String... fliterFields) {
    final List<String> propertyFliters = Arrays.asList(fliterFields);
    SerializeWriter out = new SerializeWriter();
    try {
        JSONSerializer serializer = new JSONSerializer(out);
        serializer.getPropertyFilters().add(new PropertyFilter() {

            public boolean apply(Object source, String name, Object value) {
                return !propertyFliters.contains(name);
            }

        });
        serializer.write(obj);
        return out.toString();
    } finally {
        out.close();
    }
}
 
源代码6 项目: jframe   文件: JsonUtil.java
/**
 * 过滤除此外的参数
 * 
 * @param params
 * @return
 */
public static PropertyFilter createPropertyFilter(final String[] params) {
	return new PropertyFilter() {

		@Override
		public boolean apply(Object object, String name, Object value) {
			if (value == null)
				return false;
			if (params != null && params.length > 0) {
				for (int i = 0; i < params.length; i++) {
					if (name.equals(params[i])) {
						return true;
					}
				}
			}
			if (name.equals(Fields.F_rspCode)
					|| name.equals(Fields.F_rspDesc)) {
				return true;
			}
			return false;
		}

	};
}
 
源代码7 项目: jframe   文件: JsonUtil.java
public static PropertyFilter createExcludePropertyFilter(
		final String[] params) {
	return new PropertyFilter() {

		@Override
		public boolean apply(Object object, String name, Object value) {
			if (value == null)
				return false;

			if (params != null && params.length > 0) {
				for (int i = 0; i < params.length; i++) {
					if (name.equals(params[i])) {
						return false;
					}
				}
			}
			if (name.equals(Fields.F_rspCode)
					|| name.equals(Fields.F_rspDesc)) {
				return true;
			}
			return true;
		}

	};
}
 
源代码8 项目: canal   文件: JsonUtils.java
/**
 * 可以允许指定一些过滤字段进行生成json对象
 */
public static String marshalToString(Object obj, String... fliterFields) {
    final List<String> propertyFliters = Arrays.asList(fliterFields);
    SerializeWriter out = new SerializeWriter();
    try {
        JSONSerializer serializer = new JSONSerializer(out);
        serializer.getPropertyFilters().add(new PropertyFilter() {

            public boolean apply(Object source, String name, Object value) {
                return !propertyFliters.contains(name);
            }

        });
        serializer.write(obj);
        return out.toString();
    } finally {
        out.close();
    }
}
 
源代码9 项目: pay   文件: FastJson.java
public static String toJsonString(final Object data, PropertyFilter filter) {
    try {
        return JSON.toJSONString(data, filter, SerializerFeature.WriteDateUseDateFormat);
    } catch(Exception e) {
        throw new RuntimeException(e);
    }
}
 
源代码10 项目: metrics   文件: FastJsonProvider.java
public String toJSONString(Object object, SerializeFilter filter, SerializerFeature[] features) {
    SerializeWriter out = new SerializeWriter();

    try {
        JSONSerializer serializer = new JSONSerializer(out, fastJsonConfig.serializeConfig);
        if (features != null) {
            for (SerializerFeature feature : features) {
                serializer.config(feature, true);
            }
        }

        if (filter != null) {
            if (filter instanceof PropertyPreFilter) {
                serializer.getPropertyPreFilters().add((PropertyPreFilter) filter);
            }

            if (filter instanceof NameFilter) {
                serializer.getNameFilters().add((NameFilter) filter);
            }

            if (filter instanceof ValueFilter) {
                serializer.getValueFilters().add((ValueFilter) filter);
            }

            if (filter instanceof PropertyFilter) {
                serializer.getPropertyFilters().add((PropertyFilter) filter);
            }

            if (filter instanceof BeforeFilter) {
                serializer.getBeforeFilters().add((BeforeFilter) filter);
            }

            if (filter instanceof AfterFilter) {
                serializer.getAfterFilters().add((AfterFilter) filter);
            }
        }

        serializer.write(object);

        return out.toString();
    } finally {
        out.close();
    }
}
 
源代码11 项目: pay   文件: ResponseHelper.java
public static Result wrapAjax(Object data, PropertyFilter filter) {
    return wrapAjax(FastJson.toJsonString(data, filter));
}
 
 类所在包
 同包方法