FlatteningSerializer 类

  • java.lang.Object
    • com.fasterxml.jackson.databind.JsonSerializer
      • com.fasterxml.jackson.databind.ser.std.StdSerializer
        • com.microsoft.bot.restclient.serializer.FlatteningSerializer

实现

com.fasterxml.jackson.databind.ser.ResolvableSerializer

public class FlatteningSerializer
extends com.fasterxml.jackson.databind.ser.std.StdSerializer<java.lang.Object>
implements com.fasterxml.jackson.databind.ser.ResolvableSerializer

用于序列化具有包装属性的类型的自定义序列化程序。 例如,批注 @JsonProperty(value = “properties.name”) 的属性将从 POJO 模型中的顶级“name”属性映射到 {'properties' : { 'name' : 'my_name' }}。

构造函数摘要

修饰符 构造函数 说明
protected FlatteningSerializer(Class<?> vc, JsonSerializer<?> defaultSerializer, ObjectMapper mapper)

创建平展序列化程序的实例。

方法摘要

修饰符和类型 方法和描述
static com.fasterxml.jackson.databind.module.SimpleModule getModule(ObjectMapper mapper)

获取将此序列化程序包装为 Jackson ObjectMapper 的适配器的模块。

void resolve(SerializerProvider provider)
void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
void serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSerializer)

方法继承自 com.fasterxml.jackson.databind.JsonSerializer

com.fasterxml.jackson.databind.JsonSerializer.getDelegatee com.fasterxml.jackson.databind.JsonSerializer.isEmpty com.fasterxml.jackson.databind.JsonSerializer.isEmpty com.fasterxml.jackson.databind.JsonSerializer.isUnwrappingSerializer com.fasterxml.jackson.databind.JsonSerializer.properties com.fasterxml.jackson.databind.JsonSerializer.replaceDelegatee(com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.JsonSerializer.serializeWithType com.fasterxml.jackson.databind.JsonSerializer.unwrappingSerializer com.fasterxml.jackson.databind.JsonSerializer.usesObjectId com.fasterxml.jackson.databind.JsonSerializer.withFilterId

方法继承自 com.fasterxml.jackson.databind.ser.std.StdSerializer

com.fasterxml.jackson.databind.ser.std.StdSerializer._neitherNull com.fasterxml.jackson.databind.ser.std.StdSerializer._nonEmpty(java.util.Collection< com.fasterxml.jackson.databind.ser.std.StdSerializer.acceptJsonFormatVisitor com.fasterxml.jackson.databind.ser.std.StdSerializer.createSchemaNode com.fasterxml.jackson.databind.ser.std.StdSerializer.createSchemaNode com.fasterxml.jackson.databind.ser.std.StdSerializer.findAnnotatedContentSerializer com.fasterxml.jackson.databind.ser.std.StdSerializer.findContextualConvertingSerializer(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.findConvertingContentSerializer(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.findFormatFeature(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.ser.std.StdSerializer.findFormatOverrides(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.ser.std.StdSerializer.findIncludeOverrides(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.ser.std.StdSerializer.findPropertyFilter com.fasterxml.jackson.databind.ser.std.StdSerializer.getSchema com.fasterxml.jackson.databind.ser.std.StdSerializer.getSchema com.fasterxml.jackson.databind.ser.std.StdSerializer.handledType com.fasterxml.jackson.databind.ser.std.StdSerializer.isDefaultSerializer(com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.serialize com.fasterxml.jackson.databind.ser.std.StdSerializer.visitArrayFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper,com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.visitArrayFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitFloatFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitIntFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitIntFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitStringFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitStringFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow

方法继承自 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

构造函数详细信息

FlatteningSerializer

protected FlatteningSerializer(Class vc, JsonSerializer defaultSerializer, ObjectMapper mapper)

创建 FlatteningSerializer 的实例。

参数:

vc - 句柄类型
defaultSerializer - 默认 JSON 序列化程序
mapper - 默认序列化的对象映射器

方法详细信息

getModule

public static SimpleModule getModule(ObjectMapper mapper)

获取将此序列化程序包装为 Jackson ObjectMapper 的适配器的模块。

参数:

mapper - 默认序列化的对象映射器

返回:

要插入 Jackson ObjectMapper 的简单模块。

resolve

public void resolve(SerializerProvider provider)

参数:

provider

引发:

com.fasterxml.jackson.databind.JsonMappingException

serialize

public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)

替代:

FlatteningSerializer.serialize(Object value, JsonGenerator jgen, SerializerProvider provider)

参数:

value
jgen
provider

引发:

java.io.IOException

serializeWithType

public void serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSerializer)

替代:

FlatteningSerializer.serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSerializer)

参数:

value
gen
provider
typeSerializer

引发:

java.io.IOException

适用于