com.alibaba.fastjson.serializer.PropertyFilter#com.alibaba.fastjson.serializer.SerializeFilter源码实例Demo

下面列出了com.alibaba.fastjson.serializer.PropertyFilter#com.alibaba.fastjson.serializer.SerializeFilter 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: actframework   文件: Endpoint.java
private String generateSampleJson(BeanSpec spec, Map<String, Class> typeParamLookup, boolean isReturn) {
    Class<?> type = spec.rawType();
    if (Result.class.isAssignableFrom(type) || void.class == type) {
        return null;
    }
    returnSampleObject = generateSampleData(spec, typeParamLookup, new HashSet<Type>(), new ArrayList<String>(), isReturn);
    if (null == returnSampleObject) {
        return null;
    }
    if (returnSampleObject instanceof Map && ((Map) returnSampleObject).isEmpty()) {
        return null;
    }
    if (!type.isArray() && $.isSimpleType(type) && (String.class != type || !isValidJson(S.string(returnSampleObject)))) {
        returnSampleObject = C.Map("result", returnSampleObject);
    }
    SerializeFilter[] filters = new SerializeFilter[null == fastJsonPropertyPreFilter ? 0 : 1];
    if (null != fastJsonPropertyPreFilter) {
        filters[0] = fastJsonPropertyPreFilter;
    }
    SerializerFeature[] features = new SerializerFeature[] {
            SerializerFeature.PrettyFormat
    };
    return JSON.toJSONString(returnSampleObject, SerializeConfig.globalInstance, filters, features);
}
 
源代码2 项目: metrics   文件: FastJsonConfig.java
public FastJsonConfig(SerializeConfig serializeConfig, SerializerFeature[] serializerFeatures,
                      Map<Class<?>, SerializeFilter> serializeFilters, ParserConfig parserConfig,
                      Feature[] features) {
    this.serializeConfig = serializeConfig;
    this.parserConfig = parserConfig;
    this.serializerFeatures = serializerFeatures;
    this.features = features;
    this.serializeFilters = serializeFilters;
}
 
源代码3 项目: mcg-helper   文件: FastJsonHttpMessageConverter.java
public void addSerializeFilter(SerializeFilter filter) {
    if (filter == null) {
        return;
    }

    SerializeFilter[] filters = new SerializeFilter[this.filters.length + 1];
    System.arraycopy(this.filters, 0, filter, 0, this.filters.length);
    filters[filters.length - 1] = filter;
    this.filters = filters;
}
 
源代码4 项目: t-io   文件: Json.java
/**
 * 
 * @param bean
 * @param serializeFilter
 * @return
 * @author tanyaowu
 */
public static String toJson(Object bean, SerializeFilter serializeFilter) {
	if (serializeFilter != null) {
		return JSON.toJSONString(bean, mapping, serializeFilter, SerializerFeature.DisableCircularReferenceDetect);
	} else {
		return JSON.toJSONString(bean, mapping, SerializerFeature.DisableCircularReferenceDetect);
	}
}
 
源代码5 项目: uavstack   文件: FastJsonHttpMessageConverter.java
@Deprecated
public void addSerializeFilter(SerializeFilter filter) {
    if (filter == null) {
        return;
    }

    int length = this.fastJsonConfig.getSerializeFilters().length;
    SerializeFilter[] filters = new SerializeFilter[length + 1];
    System.arraycopy(this.fastJsonConfig.getSerializeFilters(), 0, filters, 0, length);
    filters[filters.length - 1] = filter;
    this.fastJsonConfig.setSerializeFilters(filters);
}
 
源代码6 项目: uavstack   文件: FastJsonConfig.java
/**
 * init param.
 */
public FastJsonConfig() {

    this.charset = Charset.forName("UTF-8");

    this.serializeConfig = SerializeConfig.getGlobalInstance();
    this.parserConfig = new ParserConfig();

    this.serializerFeatures = new SerializerFeature[] {
            SerializerFeature.BrowserSecure
    };

    this.serializeFilters = new SerializeFilter[0];
    this.features = new Feature[0];
}
 
源代码7 项目: jeesupport   文件: JsonUtil.java
public static String toString( Object _obj, SerializeFilter[] _filters, int _features ){
    return toString( _obj, _filters, _features,
            SerializerFeature.DisableCircularReferenceDetect,
            SerializerFeature.WriteDateUseDateFormat,
            SerializerFeature.WriteMapNullValue,
            SerializerFeature.WriteNullListAsEmpty );
}
 
源代码8 项目: actframework   文件: ActContext.java
public SerializeFilter[] fastjsonFilters() {
    if (null == fastjsonFilters) {
        return null;
    }
    int len = fastjsonFilters.length;
    SerializeFilter[] filters = new SerializeFilter[len];
    for (int i = 0; i < len; ++i) {
        filters[i] = app().getInstance(fastjsonFilters[i]);
    }
    return filters;
}
 
public FastJsonConfig(SerializeConfig serializeConfig, SerializerFeature[] serializerFeatures, Map<Class<?>, SerializeFilter> serializeFilters, ParserConfig parserConfig, Feature[] features) {
	this.serializeConfig = serializeConfig;
	this.parserConfig = parserConfig;
	this.serializerFeatures = serializerFeatures;
	this.features = features;
	this.serializeFilters = serializeFilters;
}
 
源代码10 项目: DDMQ   文件: JsonMessageConverter.java
@Override
protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
    try (ByteArrayOutputStream outnew = new ByteArrayOutputStream()) {
        HttpHeaders headers = outputMessage.getHeaders();

        //获取全局配置的filter
        SerializeFilter[] globalFilters = getFastJsonConfig().getSerializeFilters();
        List<SerializeFilter> allFilters = new ArrayList<>(Arrays.asList(globalFilters));

        boolean isJsonp = false;
        Object value = strangeCodeForJackson(object);

        if (value instanceof FastJsonContainer) {
            FastJsonContainer fastJsonContainer = (FastJsonContainer) value;
            PropertyPreFilters filters = fastJsonContainer.getFilters();
            allFilters.addAll(filters.getFilters());
            value = fastJsonContainer.getValue();
        }

        if (value instanceof MappingFastJsonValue) {
            isJsonp = true;
            value = ((MappingFastJsonValue) value).getValue();
        } else if (value instanceof JSONPObject) {
            isJsonp = true;
        }


        int len = writePrefix(outnew, object);
        len += JSON.writeJSONString(outnew, //
                getFastJsonConfig().getCharset(), //
                value, //
                getFastJsonConfig().getSerializeConfig(), //
                allFilters.toArray(new SerializeFilter[allFilters.size()]),
                getFastJsonConfig().getDateFormat(), //
                JSON.DEFAULT_GENERATE_FEATURE, //
                getFastJsonConfig().getSerializerFeatures());
        len += writeSuffix(outnew, object);

        if (isJsonp) {
            headers.setContentType(APPLICATION_JAVASCRIPT);
        }
        if (getFastJsonConfig().isWriteContentLength()) {
            headers.setContentLength(len);
        }

        headers.set("carrera_logid", RequestContext.getLogId());
        RequestContext.sendJsonResponse(outnew.toString());

        outnew.writeTo(outputMessage.getBody());

    } catch (JSONException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}
 
源代码11 项目: 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();
    }
}
 
源代码12 项目: metrics   文件: FastJsonConfig.java
public FastJsonConfig(SerializeConfig serializeConfig, SerializerFeature[] serializerFeatures, Map<Class<?>,
        SerializeFilter> serializeFilters) {
    this(serializeConfig, serializerFeatures, serializeFilters, new ParserConfig(), null);
}
 
源代码13 项目: mcg-helper   文件: FastJsonHttpMessageConverter.java
public SerializeFilter[] getFilters() {
    return filters;
}
 
源代码14 项目: mcg-helper   文件: FastJsonHttpMessageConverter.java
public void setFilters(SerializeFilter... filters) {
    this.filters = filters;
}
 
源代码15 项目: DDMQ   文件: JsonMessageConverter.java
@Override
protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
    try (ByteArrayOutputStream outnew = new ByteArrayOutputStream()) {
        HttpHeaders headers = outputMessage.getHeaders();

        //获取全局配置的filter
        SerializeFilter[] globalFilters = getFastJsonConfig().getSerializeFilters();
        List<SerializeFilter> allFilters = new ArrayList<>(Arrays.asList(globalFilters));

        boolean isJsonp = false;
        Object value = strangeCodeForJackson(object);

        if (value instanceof FastJsonContainer) {
            FastJsonContainer fastJsonContainer = (FastJsonContainer) value;
            PropertyPreFilters filters = fastJsonContainer.getFilters();
            allFilters.addAll(filters.getFilters());
            value = fastJsonContainer.getValue();
        }

        if (value instanceof MappingFastJsonValue) {
            isJsonp = true;
            value = ((MappingFastJsonValue) value).getValue();
        } else if (value instanceof JSONPObject) {
            isJsonp = true;
        }


        int len = writePrefix(outnew, object);
        len += JSON.writeJSONString(outnew, //
                getFastJsonConfig().getCharset(), //
                value, //
                getFastJsonConfig().getSerializeConfig(), //
                allFilters.toArray(new SerializeFilter[allFilters.size()]),
                getFastJsonConfig().getDateFormat(), //
                JSON.DEFAULT_GENERATE_FEATURE, //
                getFastJsonConfig().getSerializerFeatures());
        len += writeSuffix(outnew, object);

        if (isJsonp) {
            headers.setContentType(APPLICATION_JAVASCRIPT);
        }
        if (getFastJsonConfig().isWriteContentLength()) {
            headers.setContentLength(len);
        }

        headers.set("carrera_logid", RequestContext.getLogId());
        RequestContext.sendJsonResponse(outnew.toString());

        outnew.writeTo(outputMessage.getBody());

    } catch (JSONException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}
 
源代码16 项目: t-io   文件: Json.java
public static SerializeConfig put(Class<?> clazz, SerializeFilter filter) {
	mapping.addFilter(clazz, filter);
	return mapping;
}
 
源代码17 项目: uavstack   文件: FastJsonJsonView.java
@Deprecated
public SerializeFilter[] getFilters() {
    return this.fastJsonConfig.getSerializeFilters();
}
 
源代码18 项目: uavstack   文件: FastJsonJsonView.java
@Deprecated
public void setFilters(SerializeFilter... filters) {
    this.fastJsonConfig.setSerializeFilters(filters);
}
 
源代码19 项目: uavstack   文件: FastJsonHttpMessageConverter.java
@Deprecated
public SerializeFilter[] getFilters() {
    return this.fastJsonConfig.getSerializeFilters();
}
 
源代码20 项目: uavstack   文件: FastJsonHttpMessageConverter.java
@Deprecated
public void setFilters(SerializeFilter... filters) {
    this.fastJsonConfig.setSerializeFilters(filters);
}
 
源代码21 项目: uavstack   文件: FastJsonHttpMessageConverter.java
@Override
protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {

    ByteArrayOutputStream outnew = new ByteArrayOutputStream();
    try {
        HttpHeaders headers = outputMessage.getHeaders();

        //获取全局配置的filter
        SerializeFilter[] globalFilters = fastJsonConfig.getSerializeFilters();
        List<SerializeFilter> allFilters = new ArrayList<SerializeFilter>(Arrays.asList(globalFilters));

        boolean isJsonp = false;

        //不知道为什么会有这行代码, 但是为了保持和原来的行为一致,还是保留下来
        Object value = strangeCodeForJackson(object);

        if (value instanceof FastJsonContainer) {
            FastJsonContainer fastJsonContainer = (FastJsonContainer) value;
            PropertyPreFilters filters = fastJsonContainer.getFilters();
            allFilters.addAll(filters.getFilters());
            value = fastJsonContainer.getValue();
        }

        //revise 2017-10-23 ,
        // 保持原有的MappingFastJsonValue对象的contentType不做修改 保持旧版兼容。
        // 但是新的JSONPObject将返回标准的contentType:application/javascript ,不对是否有function进行判断
        if (value instanceof MappingFastJsonValue) {
            if(!StringUtils.isEmpty(((MappingFastJsonValue) value).getJsonpFunction())){
                isJsonp = true;
            }
        } else if (value instanceof JSONPObject) {
            isJsonp = true;
        }


        int len = JSON.writeJSONString(outnew, //
                fastJsonConfig.getCharset(), //
                value, //
                fastJsonConfig.getSerializeConfig(), //
                //fastJsonConfig.getSerializeFilters(), //
                allFilters.toArray(new SerializeFilter[allFilters.size()]),
                fastJsonConfig.getDateFormat(), //
                JSON.DEFAULT_GENERATE_FEATURE, //
                fastJsonConfig.getSerializerFeatures());

        if (isJsonp) {
            headers.setContentType(APPLICATION_JAVASCRIPT);
        }

        if (fastJsonConfig.isWriteContentLength()) {
            headers.setContentLength(len);
        }

        outnew.writeTo(outputMessage.getBody());

    } catch (JSONException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    } finally {
        outnew.close();
    }
}
 
源代码22 项目: uavstack   文件: FastJsonConfig.java
/**
 * @return the serializeFilters
 */
public SerializeFilter[] getSerializeFilters() {
    return serializeFilters;
}
 
源代码23 项目: uavstack   文件: FastJsonConfig.java
/**
 * @param serializeFilters the serializeFilters to set
 */
public void setSerializeFilters(SerializeFilter... serializeFilters) {
    this.serializeFilters = serializeFilters;
}
 
源代码24 项目: uavstack   文件: FastJsonConfig.java
/**
 * @return the classSerializeFilters
 */
public Map<Class<?>, SerializeFilter> getClassSerializeFilters() {
    return classSerializeFilters;
}
 
源代码25 项目: uavstack   文件: FastJsonProvider.java
@Deprecated
public SerializeFilter[] getFilters() {
    return this.fastJsonConfig.getSerializeFilters();
}
 
源代码26 项目: uavstack   文件: FastJsonProvider.java
@Deprecated
public void setFilters(SerializeFilter... filters) {
    this.fastJsonConfig.setSerializeFilters(filters);
}
 
源代码27 项目: jeesupport   文件: JsonUtil.java
public static String toString( Object _obj, SerializeFilter[] _filters ){
    return toString( _obj, _filters, features );
}
 
源代码28 项目: jeesupport   文件: JsonUtil.java
public static String toString( Object _obj, SerializeFilter[] _filters, int _features, SerializerFeature..._serializerFeatures ){
    return JSON.toJSONString( _obj, SerializeConfig.globalInstance, _filters, null, _features, _serializerFeatures );
}
 
源代码29 项目: java-platform   文件: NodeSerializer.java
@Override
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features)
		throws IOException {
	SerializeWriter out = serializer.getWriter();
	if (object == null) {
		out.writeNull();
		return;
	}

	Node<?> node = (Node<?>) object;

	out.write('{');

	out.writeFieldName("children");
	serializer.write(node.getChildren());
	out.write(",");

	out.writeFieldName("leaf");
	out.write(node.getLeaf());
	out.write(",");

	if (!Strings.isNullOrEmpty(node.getIcon())) {
		out.writeFieldName("icon");
		out.writeString(node.getIcon());
		out.write(",");
	}

	if (node.getChecked() != null) {
		out.writeFieldName("checked");
		out.write(node.getChecked());
		out.write(",");
	}

	if (node.getExpanded() != null) {
		out.writeFieldName("expanded");
		out.write(node.getExpanded());
		out.write(",");
	}

	List<? extends SerializeFilter> serializeFilters = serializer.getPropertyPreFilters();

	Object data = node.getData();

	// 处理父节点
	if (data != null && data instanceof Treeable && serializeFilters != null && serializeFilters.size() > 0) {
		boolean parentProcess = false;
		for (SerializeFilter filter : serializeFilters) {
			if (filter instanceof IncludesPropertyPreFilter) {
				Set<String> includes = ((IncludesPropertyPreFilter) filter).getIncludes();
				parentProcess = includes.contains("parent");
				if (parentProcess) {
					break;
				}
			}
		}
		if (parentProcess) {
			Object parent = ((Treeable<?>) data).getParent();
			if (parent != null) {
				out.writeFieldName("parent");
				out.write(JSON.toJSONString(parent, serializeConfig,
						Iterables.toArray(serializeFilters, SerializeFilter.class)));
				out.write(",");
			}
		}
	}

	// 处理对象值
	String dataString = serializeFilters == null ? JSON.toJSONString(data, serializeConfig)
			: JSON.toJSONString(data, serializeConfig, Iterables.toArray(serializeFilters, SerializeFilter.class));
	dataString = StringUtils.substring(dataString, 1);
	out.write(dataString);
}
 
源代码30 项目: actframework   文件: ActContext.java
public CTX fastjsonFilters(Class<? extends SerializeFilter>[] filters) {
    this.fastjsonFilters = filters;
    return me();
}