com.fasterxml.jackson.databind.JsonSerializer.unwrappingSerializer()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(10.1k)|赞(0)|评价(0)|浏览(165)

本文整理了Java中com.fasterxml.jackson.databind.JsonSerializer.unwrappingSerializer()方法的一些代码示例,展示了JsonSerializer.unwrappingSerializer()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonSerializer.unwrappingSerializer()方法的具体详情如下:
包路径:com.fasterxml.jackson.databind.JsonSerializer
类名称:JsonSerializer
方法名:unwrappingSerializer

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

  1. @Override
  2. public JsonSerializer<T> unwrappingSerializer(NameTransformer transformer) {
  3. JsonSerializer<Object> valueSer = _valueSerializer;
  4. if (valueSer != null) {
  5. valueSer = valueSer.unwrappingSerializer(transformer);
  6. }
  7. NameTransformer unwrapper = (_unwrapper == null) ? transformer
  8. : NameTransformer.chainedTransformer(transformer, _unwrapper);
  9. if ((_valueSerializer == valueSer) && (_unwrapper == unwrapper)) {
  10. return this;
  11. }
  12. return withResolved(_property, _valueTypeSerializer, valueSer, unwrapper);
  13. }

代码示例来源:origin: redisson/redisson

  1. @Override
  2. public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
  3. throws JsonMappingException
  4. {
  5. JsonSerializer<?> ser = _valueSerializer;
  6. if (ser == null) {
  7. ser = _findSerializer(visitor.getProvider(), _referredType, _property);
  8. if (_unwrapper != null) {
  9. ser = ser.unwrappingSerializer(_unwrapper);
  10. }
  11. }
  12. ser.acceptJsonFormatVisitor(visitor, _referredType);
  13. }

代码示例来源:origin: redisson/redisson

  1. @Override
  2. public void assignSerializer(JsonSerializer<Object> ser)
  3. {
  4. if (ser != null) {
  5. NameTransformer t = _nameTransformer;
  6. if (ser.isUnwrappingSerializer()
  7. // as per [databind#2060], need to also check this, in case someone writes
  8. // custom implementation that does not extend standard implementation:
  9. && (ser instanceof UnwrappingBeanSerializer)) {
  10. t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) ser)._nameTransformer);
  11. }
  12. ser = ser.unwrappingSerializer(t);
  13. }
  14. super.assignSerializer(ser);
  15. }

代码示例来源:origin: redisson/redisson

  1. @Override
  2. public void depositSchemaProperty(final JsonObjectFormatVisitor visitor,
  3. SerializerProvider provider) throws JsonMappingException
  4. {
  5. JsonSerializer<Object> ser = provider
  6. .findValueSerializer(this.getType(), this)
  7. .unwrappingSerializer(_nameTransformer);
  8. if (ser.isUnwrappingSerializer()) {
  9. ser.acceptJsonFormatVisitor(new JsonFormatVisitorWrapper.Base(provider) {
  10. // an unwrapping serializer will always expect ObjectFormat,
  11. // hence, the other cases do not have to be implemented
  12. @Override
  13. public JsonObjectFormatVisitor expectObjectFormat(JavaType type)
  14. throws JsonMappingException {
  15. return visitor;
  16. }
  17. }, this.getType());
  18. } else {
  19. super.depositSchemaProperty(visitor, provider);
  20. }
  21. }

代码示例来源:origin: redisson/redisson

  1. @Override
  2. protected JsonSerializer<Object> _findAndAddDynamic(PropertySerializerMap map,
  3. Class<?> type, SerializerProvider provider) throws JsonMappingException
  4. {
  5. JsonSerializer<Object> serializer;
  6. if (_nonTrivialBaseType != null) {
  7. JavaType subtype = provider.constructSpecializedType(_nonTrivialBaseType, type);
  8. serializer = provider.findValueSerializer(subtype, this);
  9. } else {
  10. serializer = provider.findValueSerializer(type, this);
  11. }
  12. NameTransformer t = _nameTransformer;
  13. if (serializer.isUnwrappingSerializer()
  14. // as per [databind#2060], need to also check this, in case someone writes
  15. // custom implementation that does not extend standard implementation:
  16. && (serializer instanceof UnwrappingBeanSerializer)) {
  17. t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) serializer)._nameTransformer);
  18. }
  19. serializer = serializer.unwrappingSerializer(t);
  20. _dynamicSerializers = _dynamicSerializers.newWith(type, serializer);
  21. return serializer;
  22. }
  23. }

代码示例来源:origin: redisson/redisson

  1. /**
  2. * Helper method that encapsulates logic of retrieving and caching required
  3. * serializer.
  4. */
  5. private final JsonSerializer<Object> _findCachedSerializer(SerializerProvider provider,
  6. Class<?> rawType) throws JsonMappingException
  7. {
  8. JsonSerializer<Object> ser = _dynamicSerializers.serializerFor(rawType);
  9. if (ser == null) {
  10. // NOTE: call this instead of `map._findAndAddDynamic(...)` (which in turn calls
  11. // `findAndAddSecondarySerializer`) since we may need to apply unwrapper
  12. // too, before caching. But calls made are the same
  13. if (_referredType.hasGenericTypes()) {
  14. // [databind#1673] Must ensure we will resolve all available type information
  15. // so as not to miss generic declaration of, say, `List<GenericPojo>`...
  16. JavaType fullType = provider.constructSpecializedType(_referredType, rawType);
  17. ser = provider.findValueSerializer(fullType, _property);
  18. } else {
  19. ser = provider.findValueSerializer(rawType, _property);
  20. }
  21. if (_unwrapper != null) {
  22. ser = ser.unwrappingSerializer(_unwrapper);
  23. }
  24. _dynamicSerializers = _dynamicSerializers.newWith(rawType, ser);
  25. }
  26. return ser;
  27. }

代码示例来源:origin: spring-projects/spring-data-rest

  1. @Override
  2. public void serialize(TargetAware value, JsonGenerator jgen, SerializerProvider provider)
  3. throws IOException, JsonGenerationException {
  4. if (!unwrapping) {
  5. jgen.writeStartObject();
  6. }
  7. provider.//
  8. findValueSerializer(ProjectionResource.class, null).//
  9. unwrappingSerializer(null).//
  10. serialize(toResource(value), jgen, provider);
  11. if (!unwrapping) {
  12. jgen.writeEndObject();
  13. }
  14. }

代码示例来源:origin: spring-projects/spring-data-rest

  1. @Override
  2. public void serialize(ProjectionResourceContent value, JsonGenerator jgen, SerializerProvider provider)
  3. throws IOException, JsonGenerationException {
  4. provider.//
  5. findValueSerializer(value.getProjectionInterface(), null).//
  6. unwrappingSerializer(null).//
  7. serialize(value.getProjection(), jgen, provider);
  8. }

代码示例来源:origin: com.fasterxml.jackson.datatype/jackson-datatype-hibernate5

  1. @Override
  2. public PersistentCollectionSerializer unwrappingSerializer(NameTransformer unwrapper) {
  3. return _withSerializer(_serializer.unwrappingSerializer(unwrapper));
  4. }

代码示例来源:origin: com.fasterxml.jackson.datatype/jackson-datatype-hibernate3

  1. @Override
  2. public PersistentCollectionSerializer unwrappingSerializer(NameTransformer unwrapper) {
  3. return _withSerializer(_serializer.unwrappingSerializer(unwrapper));
  4. }

代码示例来源:origin: Nextdoor/bender

  1. @Override
  2. public JsonSerializer<T> unwrappingSerializer(NameTransformer transformer) {
  3. JsonSerializer<Object> ser = _valueSerializer;
  4. if (ser != null) {
  5. ser = ser.unwrappingSerializer(transformer);
  6. }
  7. NameTransformer unwrapper = (_unwrapper == null) ? transformer
  8. : NameTransformer.chainedTransformer(transformer, _unwrapper);
  9. return withResolved(_property, _valueTypeSerializer, ser, unwrapper, _contentInclusion);
  10. }

代码示例来源:origin: FasterXML/jackson-datatype-guava

  1. @Override
  2. public JsonSerializer<Optional<?>> unwrappingSerializer(NameTransformer transformer) {
  3. JsonSerializer<Object> ser = _valueSerializer;
  4. if (ser != null) {
  5. ser = ser.unwrappingSerializer(transformer);
  6. }
  7. NameTransformer unwrapper = (_unwrapper == null) ? transformer
  8. : NameTransformer.chainedTransformer(transformer, _unwrapper);
  9. return withResolved(_property, _valueTypeSerializer, ser, unwrapper, _contentInclusion);
  10. }

代码示例来源:origin: Nextdoor/bender

  1. @Override
  2. public void assignSerializer(JsonSerializer<Object> ser)
  3. {
  4. super.assignSerializer(ser);
  5. if (_serializer != null) {
  6. NameTransformer t = _nameTransformer;
  7. if (_serializer.isUnwrappingSerializer()) {
  8. t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
  9. }
  10. _serializer = _serializer.unwrappingSerializer(t);
  11. }
  12. }

代码示例来源:origin: com.eclipsesource.jaxrs/jersey-all

  1. @Override
  2. public void assignSerializer(JsonSerializer<Object> ser)
  3. {
  4. super.assignSerializer(ser);
  5. if (_serializer != null) {
  6. NameTransformer t = _nameTransformer;
  7. if (_serializer.isUnwrappingSerializer()) {
  8. t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
  9. }
  10. _serializer = _serializer.unwrappingSerializer(t);
  11. }
  12. }

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-analytics

  1. @Override
  2. public void assignSerializer(JsonSerializer<Object> ser)
  3. {
  4. super.assignSerializer(ser);
  5. if (_serializer != null) {
  6. NameTransformer t = _nameTransformer;
  7. if (_serializer.isUnwrappingSerializer()) {
  8. t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
  9. }
  10. _serializer = _serializer.unwrappingSerializer(t);
  11. }
  12. }

代码示例来源:origin: hstaudacher/osgi-jax-rs-connector

  1. @Override
  2. public void assignSerializer(JsonSerializer<Object> ser)
  3. {
  4. super.assignSerializer(ser);
  5. if (_serializer != null) {
  6. NameTransformer t = _nameTransformer;
  7. if (_serializer.isUnwrappingSerializer()) {
  8. t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
  9. }
  10. _serializer = _serializer.unwrappingSerializer(t);
  11. }
  12. }

代码示例来源:origin: com.fasterxml.jackson.core/com.springsource.com.fasterxml.jackson.core.jackson-databind

  1. @Override
  2. public void assignSerializer(JsonSerializer<Object> ser)
  3. {
  4. super.assignSerializer(ser);
  5. if (_serializer != null) {
  6. NameTransformer t = _nameTransformer;
  7. if (_serializer.isUnwrappingSerializer()) {
  8. t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer);
  9. }
  10. _serializer = _serializer.unwrappingSerializer(t);
  11. }
  12. }

代码示例来源:origin: com.jwebmp.jackson.core/jackson-databind

  1. @Override
  2. public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
  3. throws JsonMappingException
  4. {
  5. JsonSerializer<?> ser = _valueSerializer;
  6. if (ser == null) {
  7. ser = _findSerializer(visitor.getProvider(), _referredType, _property);
  8. if (_unwrapper != null) {
  9. ser = ser.unwrappingSerializer(_unwrapper);
  10. }
  11. }
  12. ser.acceptJsonFormatVisitor(visitor, _referredType);
  13. }

代码示例来源:origin: Nextdoor/bender

  1. @Override
  2. public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
  3. throws JsonMappingException
  4. {
  5. JsonSerializer<?> ser = _valueSerializer;
  6. if (ser == null) {
  7. ser = _findSerializer(visitor.getProvider(), _referredType, _property);
  8. if (_unwrapper != null) {
  9. ser = ser.unwrappingSerializer(_unwrapper);
  10. }
  11. }
  12. ser.acceptJsonFormatVisitor(visitor, _referredType);
  13. }

代码示例来源:origin: org.springframework.data/spring-data-rest-webmvc

  1. @Override
  2. public void serialize(ProjectionResourceContent value, JsonGenerator jgen, SerializerProvider provider)
  3. throws IOException, JsonGenerationException {
  4. provider.//
  5. findValueSerializer(value.getProjectionInterface(), null).//
  6. unwrappingSerializer(null).//
  7. serialize(value.getProjection(), jgen, provider);
  8. }

相关文章