本文整理了Java中com.fasterxml.jackson.databind.JsonSerializer.unwrappingSerializer()
方法的一些代码示例,展示了JsonSerializer.unwrappingSerializer()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonSerializer.unwrappingSerializer()
方法的具体详情如下:
包路径:com.fasterxml.jackson.databind.JsonSerializer
类名称:JsonSerializer
方法名:unwrappingSerializer
[英]Method that will return serializer instance that produces "unwrapped" serialization, if applicable for type being serialized (which is the case for some serializers that produce JSON Objects as output). If no unwrapped serializer can be constructed, will simply return serializer as-is.
Default implementation just returns serializer as-is, indicating that no unwrapped variant exists
[中]方法,该方法将返回生成“unwrapped”序列化的序列化程序实例(如果适用于正在序列化的类型)(对于某些生成JSON对象作为输出的序列化程序就是这种情况)。如果无法构造未包装的序列化程序,则只需按原样返回序列化程序。
默认实现只是按原样返回序列化程序,表示不存在任何未包装的变量
代码示例来源:origin: redisson/redisson
@Override
public JsonSerializer<T> unwrappingSerializer(NameTransformer transformer) {
JsonSerializer<Object> valueSer = _valueSerializer;
if (valueSer != null) {
valueSer = valueSer.unwrappingSerializer(transformer);
}
NameTransformer unwrapper = (_unwrapper == null) ? transformer
: NameTransformer.chainedTransformer(transformer, _unwrapper);
if ((_valueSerializer == valueSer) && (_unwrapper == unwrapper)) {
return this;
}
return withResolved(_property, _valueTypeSerializer, valueSer, unwrapper);
}
代码示例来源:origin: redisson/redisson
@Override
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
throws JsonMappingException
{
JsonSerializer<?> ser = _valueSerializer;
if (ser == null) {
ser = _findSerializer(visitor.getProvider(), _referredType, _property);
if (_unwrapper != null) {
ser = ser.unwrappingSerializer(_unwrapper);
}
}
ser.acceptJsonFormatVisitor(visitor, _referredType);
}
代码示例来源:origin: redisson/redisson
@Override
public void assignSerializer(JsonSerializer<Object> ser)
{
if (ser != null) {
NameTransformer t = _nameTransformer;
if (ser.isUnwrappingSerializer()
// as per [databind#2060], need to also check this, in case someone writes
// custom implementation that does not extend standard implementation:
&& (ser instanceof UnwrappingBeanSerializer)) {
t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) ser)._nameTransformer);
}
ser = ser.unwrappingSerializer(t);
}
super.assignSerializer(ser);
}
代码示例来源:origin: redisson/redisson
@Override
public void depositSchemaProperty(final JsonObjectFormatVisitor visitor,
SerializerProvider provider) throws JsonMappingException
{
JsonSerializer<Object> ser = provider
.findValueSerializer(this.getType(), this)
.unwrappingSerializer(_nameTransformer);
if (ser.isUnwrappingSerializer()) {
ser.acceptJsonFormatVisitor(new JsonFormatVisitorWrapper.Base(provider) {
// an unwrapping serializer will always expect ObjectFormat,
// hence, the other cases do not have to be implemented
@Override
public JsonObjectFormatVisitor expectObjectFormat(JavaType type)
throws JsonMappingException {
return visitor;
}
}, this.getType());
} else {
super.depositSchemaProperty(visitor, provider);
}
}
代码示例来源:origin: redisson/redisson
@Override
protected JsonSerializer<Object> _findAndAddDynamic(PropertySerializerMap map,
Class<?> type, SerializerProvider provider) throws JsonMappingException
{
JsonSerializer<Object> serializer;
if (_nonTrivialBaseType != null) {
JavaType subtype = provider.constructSpecializedType(_nonTrivialBaseType, type);
serializer = provider.findValueSerializer(subtype, this);
} else {
serializer = provider.findValueSerializer(type, this);
}
NameTransformer t = _nameTransformer;
if (serializer.isUnwrappingSerializer()
// as per [databind#2060], need to also check this, in case someone writes
// custom implementation that does not extend standard implementation:
&& (serializer instanceof UnwrappingBeanSerializer)) {
t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) serializer)._nameTransformer);
}
serializer = serializer.unwrappingSerializer(t);
_dynamicSerializers = _dynamicSerializers.newWith(type, serializer);
return serializer;
}
}
代码示例来源:origin: redisson/redisson
/**
* Helper method that encapsulates logic of retrieving and caching required
* serializer.
*/
private final JsonSerializer<Object> _findCachedSerializer(SerializerProvider provider,
Class<?> rawType) throws JsonMappingException
{
JsonSerializer<Object> ser = _dynamicSerializers.serializerFor(rawType);
if (ser == null) {
// NOTE: call this instead of `map._findAndAddDynamic(...)` (which in turn calls
// `findAndAddSecondarySerializer`) since we may need to apply unwrapper
// too, before caching. But calls made are the same
if (_referredType.hasGenericTypes()) {
// [databind#1673] Must ensure we will resolve all available type information
// so as not to miss generic declaration of, say, `List<GenericPojo>`...
JavaType fullType = provider.constructSpecializedType(_referredType, rawType);
ser = provider.findValueSerializer(fullType, _property);
} else {
ser = provider.findValueSerializer(rawType, _property);
}
if (_unwrapper != null) {
ser = ser.unwrappingSerializer(_unwrapper);
}
_dynamicSerializers = _dynamicSerializers.newWith(rawType, ser);
}
return ser;
}
代码示例来源:origin: spring-projects/spring-data-rest
@Override
public void serialize(TargetAware value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonGenerationException {
if (!unwrapping) {
jgen.writeStartObject();
}
provider.//
findValueSerializer(ProjectionResource.class, null).//
unwrappingSerializer(null).//
serialize(toResource(value), jgen, provider);
if (!unwrapping) {
jgen.writeEndObject();
}
}
代码示例来源:origin: spring-projects/spring-data-rest
@Override
public void serialize(ProjectionResourceContent value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonGenerationException {
provider.//
findValueSerializer(value.getProjectionInterface(), null).//
unwrappingSerializer(null).//
serialize(value.getProjection(), jgen, provider);
}
代码示例来源:origin: com.fasterxml.jackson.datatype/jackson-datatype-hibernate5
@Override
public PersistentCollectionSerializer unwrappingSerializer(NameTransformer unwrapper) {
return _withSerializer(_serializer.unwrappingSerializer(unwrapper));
}
代码示例来源:origin: com.fasterxml.jackson.datatype/jackson-datatype-hibernate3
@Override
public PersistentCollectionSerializer unwrappingSerializer(NameTransformer unwrapper) {
return _withSerializer(_serializer.unwrappingSerializer(unwrapper));
}
代码示例来源:origin: Nextdoor/bender
@Override
public JsonSerializer<T> unwrappingSerializer(NameTransformer transformer) {
JsonSerializer<Object> ser = _valueSerializer;
if (ser != null) {
ser = ser.unwrappingSerializer(transformer);
}
NameTransformer unwrapper = (_unwrapper == null) ? transformer
: NameTransformer.chainedTransformer(transformer, _unwrapper);
return withResolved(_property, _valueTypeSerializer, ser, unwrapper, _contentInclusion);
}
代码示例来源:origin: FasterXML/jackson-datatype-guava
@Override
public JsonSerializer<Optional<?>> unwrappingSerializer(NameTransformer transformer) {
JsonSerializer<Object> ser = _valueSerializer;
if (ser != null) {
ser = ser.unwrappingSerializer(transformer);
}
NameTransformer unwrapper = (_unwrapper == null) ? transformer
: NameTransformer.chainedTransformer(transformer, _unwrapper);
return withResolved(_property, _valueTypeSerializer, ser, unwrapper, _contentInclusion);
}
代码示例来源:origin: Nextdoor/bender
@Override
public void assignSerializer(JsonSerializer<Object> ser)
{
super.assignSerializer(ser);
if (_serializer != null) {
NameTransformer t = _nameTransformer;
if (_serializer.isUnwrappingSerializer()) {
t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
}
_serializer = _serializer.unwrappingSerializer(t);
}
}
代码示例来源:origin: com.eclipsesource.jaxrs/jersey-all
@Override
public void assignSerializer(JsonSerializer<Object> ser)
{
super.assignSerializer(ser);
if (_serializer != null) {
NameTransformer t = _nameTransformer;
if (_serializer.isUnwrappingSerializer()) {
t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
}
_serializer = _serializer.unwrappingSerializer(t);
}
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-analytics
@Override
public void assignSerializer(JsonSerializer<Object> ser)
{
super.assignSerializer(ser);
if (_serializer != null) {
NameTransformer t = _nameTransformer;
if (_serializer.isUnwrappingSerializer()) {
t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
}
_serializer = _serializer.unwrappingSerializer(t);
}
}
代码示例来源:origin: hstaudacher/osgi-jax-rs-connector
@Override
public void assignSerializer(JsonSerializer<Object> ser)
{
super.assignSerializer(ser);
if (_serializer != null) {
NameTransformer t = _nameTransformer;
if (_serializer.isUnwrappingSerializer()) {
t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
}
_serializer = _serializer.unwrappingSerializer(t);
}
}
代码示例来源:origin: com.fasterxml.jackson.core/com.springsource.com.fasterxml.jackson.core.jackson-databind
@Override
public void assignSerializer(JsonSerializer<Object> ser)
{
super.assignSerializer(ser);
if (_serializer != null) {
NameTransformer t = _nameTransformer;
if (_serializer.isUnwrappingSerializer()) {
t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
}
_serializer = _serializer.unwrappingSerializer(t);
}
}
代码示例来源:origin: com.jwebmp.jackson.core/jackson-databind
@Override
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
throws JsonMappingException
{
JsonSerializer<?> ser = _valueSerializer;
if (ser == null) {
ser = _findSerializer(visitor.getProvider(), _referredType, _property);
if (_unwrapper != null) {
ser = ser.unwrappingSerializer(_unwrapper);
}
}
ser.acceptJsonFormatVisitor(visitor, _referredType);
}
代码示例来源:origin: Nextdoor/bender
@Override
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
throws JsonMappingException
{
JsonSerializer<?> ser = _valueSerializer;
if (ser == null) {
ser = _findSerializer(visitor.getProvider(), _referredType, _property);
if (_unwrapper != null) {
ser = ser.unwrappingSerializer(_unwrapper);
}
}
ser.acceptJsonFormatVisitor(visitor, _referredType);
}
代码示例来源:origin: org.springframework.data/spring-data-rest-webmvc
@Override
public void serialize(ProjectionResourceContent value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonGenerationException {
provider.//
findValueSerializer(value.getProjectionInterface(), null).//
unwrappingSerializer(null).//
serialize(value.getProjection(), jgen, provider);
}
内容来源于网络,如有侵权,请联系作者删除!