下面列出了com.fasterxml.jackson.databind.SerializerProvider#findNullValueSerializer ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException {
// 为空直接跳过
if (property == null) {
return prov.findNullValueSerializer(property);
}
// 非 Double 类直接跳过
if (Objects.equals(property.getType().getRawClass(), Double.class)) {
DoubleSpecify doubleSpecify = property.getAnnotation(DoubleSpecify.class);
if (doubleSpecify == null) {
doubleSpecify = property.getContextAnnotation(DoubleSpecify.class);
}
// 如果能得到注解,就将注解的 value 传入 DoubleSpecifySerialize
if (doubleSpecify != null) {
return new DoubleSpecifySerialize(doubleSpecify.value());
}
}
return prov.findValueSerializer(property.getType(), property);
}
@Override
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException {
// 为空直接跳过
if (property == null) {
return prov.findNullValueSerializer(property);
}
// 非 BigDecimal 类直接跳过
if (Objects.equals(property.getType().getRawClass(), BigDecimal.class)) {
BigDecimalSpecify doubleSpecify = property.getAnnotation(BigDecimalSpecify.class);
if (doubleSpecify == null) {
doubleSpecify = property.getContextAnnotation(BigDecimalSpecify.class);
}
// 如果能得到注解,就将注解的 value 传入 BigDecimalSpecifySerialize
if (doubleSpecify != null) {
return new BigDecimalSpecifySerialize(doubleSpecify.value());
}
}
return prov.findValueSerializer(property.getType(), property);
}
@Override
public JsonSerializer<?> createContextual(final SerializerProvider serializerProvider, final BeanProperty beanProperty) throws JsonMappingException {
// 为空直接跳过
if (beanProperty != null) {
// 非 String 类直接跳过
if (Objects.equals(beanProperty.getType().getRawClass(), String.class)) {
SensitiveInfo sensitiveInfo = beanProperty.getAnnotation(SensitiveInfo.class);
if (sensitiveInfo == null) {
sensitiveInfo = beanProperty.getContextAnnotation(SensitiveInfo.class);
}
// 如果能得到注解,就将注解的 value 传入 SensitiveInfoSerialize
if (sensitiveInfo != null) {
return new SensitiveInfoSerialize(sensitiveInfo.value());
}
}
return serializerProvider.findValueSerializer(beanProperty.getType(), beanProperty);
}
return serializerProvider.findNullValueSerializer(beanProperty);
}
@Override
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property)
throws JsonMappingException
{
if (property != null)
{ // 为空直接跳过
if (Objects.equals(property.getType().getRawClass(), String.class))
{ // 非 String 类直接跳过
SensitiveInfo sensitiveInfo = property.getAnnotation(SensitiveInfo.class);
if (sensitiveInfo == null)
{
sensitiveInfo = property.getContextAnnotation(SensitiveInfo.class);
}
if (sensitiveInfo != null)
{ // 如果能得到注解,就将注解的 value 传入 SensitiveInfoSerialize
SensitiveSerialize serialize = new SensitiveSerialize();
serialize.type = sensitiveInfo.value();
return serialize;
}
}
return prov.findValueSerializer(property.getType(), property);
}
return prov.findNullValueSerializer(property);
}