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

x33g5p2x  于2022-01-17 转载在 其他  
字(11.6k)|赞(0)|评价(0)|浏览(130)

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

ObjectMapper.readerWithView介绍

[英]Factory method for constructing ObjectReader that will deserialize objects using specified JSON View (filter).
[中]用于构造ObjectReader的工厂方法,该对象将使用指定的JSON视图(过滤器)反序列化对象。

代码示例

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

@Override
@Nullable
protected Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) {
  JavaType javaType = getJavaType(targetClass, conversionHint);
  Object payload = message.getPayload();
  Class<?> view = getSerializationView(conversionHint);
  // Note: in the view case, calling withType instead of forType for compatibility with Jackson <2.5
  try {
    if (payload instanceof byte[]) {
      if (view != null) {
        return this.objectMapper.readerWithView(view).forType(javaType).readValue((byte[]) payload);
      }
      else {
        return this.objectMapper.readValue((byte[]) payload, javaType);
      }
    }
    else {
      if (view != null) {
        return this.objectMapper.readerWithView(view).forType(javaType).readValue(payload.toString());
      }
      else {
        return this.objectMapper.readValue(payload.toString(), javaType);
      }
    }
  }
  catch (IOException ex) {
    throw new MessageConversionException(message, "Could not read JSON: " + ex.getMessage(), ex);
  }
}

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

private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) throws IOException {
  try {
    if (inputMessage instanceof MappingJacksonInputMessage) {
      Class<?> deserializationView = ((MappingJacksonInputMessage) inputMessage).getDeserializationView();
      if (deserializationView != null) {
        return this.objectMapper.readerWithView(deserializationView).forType(javaType).
            readValue(inputMessage.getBody());
      }
    }
    return this.objectMapper.readValue(inputMessage.getBody(), javaType);
  }
  catch (InvalidDefinitionException ex) {
    throw new HttpMessageConversionException("Type definition error: " + ex.getType(), ex);
  }
  catch (JsonProcessingException ex) {
    throw new HttpMessageNotReadableException("JSON parse error: " + ex.getOriginalMessage(), ex, inputMessage);
  }
}

代码示例来源:origin: org.springframework/spring-web

private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) throws IOException {
  try {
    if (inputMessage instanceof MappingJacksonInputMessage) {
      Class<?> deserializationView = ((MappingJacksonInputMessage) inputMessage).getDeserializationView();
      if (deserializationView != null) {
        return this.objectMapper.readerWithView(deserializationView).forType(javaType).
            readValue(inputMessage.getBody());
      }
    }
    return this.objectMapper.readValue(inputMessage.getBody(), javaType);
  }
  catch (InvalidDefinitionException ex) {
    throw new HttpMessageConversionException("Type definition error: " + ex.getType(), ex);
  }
  catch (JsonProcessingException ex) {
    throw new HttpMessageNotReadableException("JSON parse error: " + ex.getOriginalMessage(), ex, inputMessage);
  }
}

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

getObjectMapper().readerWithView(jsonView).forType(javaType) :
getObjectMapper().readerFor(javaType));

代码示例来源:origin: org.springframework/spring-web

getObjectMapper().readerWithView(jsonView).forType(javaType) :
getObjectMapper().readerFor(javaType));

代码示例来源:origin: org.glassfish.jersey.media/jersey-media-json-jackson

protected EP_CONFIG _configForReading(MAPPER mapper,
    Annotation[] annotations, Class<?> defaultView)
  {
//        ObjectReader r = _readerInjector.getAndClear();
    ObjectReader r;
    if (defaultView != null) {
      r = mapper.readerWithView(defaultView);
    } else {
      r = mapper.reader();
    }
    return _configForReading(r, annotations);
  }

代码示例来源:origin: org.springframework/spring-messaging

@Override
@Nullable
protected Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) {
  JavaType javaType = getJavaType(targetClass, conversionHint);
  Object payload = message.getPayload();
  Class<?> view = getSerializationView(conversionHint);
  // Note: in the view case, calling withType instead of forType for compatibility with Jackson <2.5
  try {
    if (payload instanceof byte[]) {
      if (view != null) {
        return this.objectMapper.readerWithView(view).forType(javaType).readValue((byte[]) payload);
      }
      else {
        return this.objectMapper.readValue((byte[]) payload, javaType);
      }
    }
    else {
      if (view != null) {
        return this.objectMapper.readerWithView(view).forType(javaType).readValue(payload.toString());
      }
      else {
        return this.objectMapper.readValue(payload.toString(), javaType);
      }
    }
  }
  catch (IOException ex) {
    throw new MessageConversionException(message, "Could not read JSON: " + ex.getMessage(), ex);
  }
}

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

@Provides @Named(READER_NAME)
  public ObjectReader objectReader(@Named(FrontObjectMapperFactory.MAPPER_NAME) final ObjectMapper mapper) {
    return mapper.readerWithView(Views.Transient.class);
  }
}

代码示例来源:origin: com.fasterxml.jackson.jaxrs/jackson-jaxrs-base

protected EP_CONFIG _configForReading(MAPPER mapper,
    Annotation[] annotations, Class<?> defaultView)
  {
//        ObjectReader r = _readerInjector.getAndClear();
    ObjectReader r;
    if (defaultView != null) {
      r = mapper.readerWithView(defaultView);
    } else {
      r = mapper.reader();
    }
    return _configForReading(r, annotations);
  }

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

protected EP_CONFIG _configForReading(MAPPER mapper,
    Annotation[] annotations, Class<?> defaultView)
  {
//        ObjectReader r = _readerInjector.getAndClear();
    ObjectReader r;
    if (defaultView != null) {
      r = mapper.readerWithView(defaultView);
    } else {
      r = mapper.reader();
    }
    return _configForReading(r, annotations);
  }

代码示例来源:origin: eclipse-ee4j/jersey

protected EP_CONFIG _configForReading(MAPPER mapper,
    Annotation[] annotations, Class<?> defaultView)
  {
//        ObjectReader r = _readerInjector.getAndClear();
    ObjectReader r;
    if (defaultView != null) {
      r = mapper.readerWithView(defaultView);
    } else {
      r = mapper.reader();
    }
    return _configForReading(r, annotations);
  }

代码示例来源:origin: io.restx/restx-core

@Provides @Named(READER_NAME)
  public ObjectReader objectReader(@Named(FrontObjectMapperFactory.MAPPER_NAME) final ObjectMapper mapper) {
    return mapper.readerWithView(Views.Transient.class);
  }
}

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

protected EP_CONFIG _configForReading(MAPPER mapper,
    Annotation[] annotations, Class<?> defaultView)
  {
//        ObjectReader r = _readerInjector.getAndClear();
    ObjectReader r;
    if (defaultView != null) {
      r = mapper.readerWithView(defaultView);
    } else {
      r = mapper.reader();
    }
    return _configForReading(r, annotations);
  }

代码示例来源:origin: FasterXML/jackson-jaxrs-providers

protected EP_CONFIG _configForReading(MAPPER mapper,
    Annotation[] annotations, Class<?> defaultView)
  {
//        ObjectReader r = _readerInjector.getAndClear();
    ObjectReader r;
    if (defaultView != null) {
      r = mapper.readerWithView(defaultView);
    } else {
      r = mapper.reader();
    }
    return _configForReading(r, annotations);
  }

代码示例来源:origin: com.bbossgroups/bboss-mvc

@SuppressWarnings("deprecation")
private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) {
  try {
    if (inputMessage instanceof MappingJacksonInputMessage) {
      Class<?> deserializationView = ((MappingJacksonInputMessage) inputMessage).getDeserializationView();
      if (deserializationView != null) {
        return this.objectMapper.readerWithView(deserializationView).withType(javaType)
            .readValue(inputMessage.getBody());
      }
    }
    return this.objectMapper.readValue(inputMessage.getBody(), javaType);
  } catch (IOException ex) {
    throw new HttpMessageNotReadableException("Could not read document: " + ex.getMessage(), ex);
  }
}

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

/**
 * Convert a DBObject, normally a query result to the object type for this
 * collection using the Jackson ObjectMapper for this collection.
 * 
 * @param dbObject The DBObject to convert
 * @return A converted instance of the object type of this class.
 * @throws MongoException
 */
public T convertFromDbObject(DBObject dbObject) throws MongoException {
  if (dbObject == null) {
    return null;
  }
  if (dbObject instanceof JacksonDBObject) {
    return (T) ((JacksonDBObject) dbObject).getObject();
  }
  try {
    return (T) objectMapper.readerWithView(view).readValue(new BsonObjectTraversingParser(
        this, dbObject, objectMapper), type);
  } catch (JsonMappingException e) {
    throw new MongoJsonMappingException(e);
  } catch (IOException e) {
    // This shouldn't happen
    throw new MongoException(
        "Unknown error occurred converting BSON to object", e);
  }
}

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

/**
 * Convert a DBObject into a given class, using the Jackson ObjectMapper
 * for this collection.
 * 
 * @param dbObject The DBObject to convert
 * @param clazz The class into which we are converting.
 * @return An instance of the requested class mapped from the DBObject.
 * @throws MongoException
 */
public <S> S convertFromDbObject(DBObject dbObject, Class<S> clazz)
    throws MongoException {
  if (dbObject == null) {
    return null;
  }
  if (dbObject instanceof JacksonDBObject) {
    return (S) ((JacksonDBObject) dbObject).getObject();
  }
  try {
    return objectMapper.readerWithView(view).readValue(new BsonObjectTraversingParser(this,
        dbObject, objectMapper), clazz);
  } catch (JsonMappingException e) {
    throw new MongoJsonMappingException(e);
  } catch (IOException e) {
    // This shouldn't happen
    throw new MongoException(
        "Unknown error occurred converting BSON to object", e);
  }
}

代码示例来源:origin: apache/servicemix-bundles

private Flux<Object> decodeInternal(Flux<TokenBuffer> tokens, ResolvableType elementType,
    @Nullable MimeType mimeType, @Nullable Map<String, Object> hints) {
  Assert.notNull(tokens, "'tokens' must not be null");
  Assert.notNull(elementType, "'elementType' must not be null");
  MethodParameter param = getParameter(elementType);
  Class<?> contextClass = (param != null ? param.getContainingClass() : null);
  JavaType javaType = getJavaType(elementType.getType(), contextClass);
  Class<?> jsonView = (hints != null ? (Class<?>) hints.get(Jackson2CodecSupport.JSON_VIEW_HINT) : null);
  ObjectReader reader = (jsonView != null ?
      getObjectMapper().readerWithView(jsonView).forType(javaType) :
      getObjectMapper().readerFor(javaType));
  return tokens.map(tokenBuffer -> {
    try {
      return reader.readValue(tokenBuffer.asParser(getObjectMapper()));
    }
    catch (InvalidDefinitionException ex) {
      throw new CodecException("Type definition error: " + ex.getType(), ex);
    }
    catch (JsonProcessingException ex) {
      throw new DecodingException("JSON decoding error: " + ex.getOriginalMessage(), ex);
    }
    catch (IOException ex) {
      throw new DecodingException("I/O error while parsing input stream", ex);
    }
  });
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web

private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) throws IOException {
  try {
    if (inputMessage instanceof MappingJacksonInputMessage) {
      Class<?> deserializationView = ((MappingJacksonInputMessage) inputMessage).getDeserializationView();
      if (deserializationView != null) {
        return this.objectMapper.readerWithView(deserializationView).forType(javaType).
            readValue(inputMessage.getBody());
      }
    }
    return this.objectMapper.readValue(inputMessage.getBody(), javaType);
  }
  catch (InvalidDefinitionException ex) {
    throw new HttpMessageConversionException("Type definition error: " + ex.getType(), ex);
  }
  catch (JsonProcessingException ex) {
    throw new HttpMessageNotReadableException("JSON parse error: " + ex.getOriginalMessage(), ex, inputMessage);
  }
}

代码示例来源:origin: apache/servicemix-bundles

private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) throws IOException {
  try {
    if (inputMessage instanceof MappingJacksonInputMessage) {
      Class<?> deserializationView = ((MappingJacksonInputMessage) inputMessage).getDeserializationView();
      if (deserializationView != null) {
        return this.objectMapper.readerWithView(deserializationView).forType(javaType).
            readValue(inputMessage.getBody());
      }
    }
    return this.objectMapper.readValue(inputMessage.getBody(), javaType);
  }
  catch (InvalidDefinitionException ex) {
    throw new HttpMessageConversionException("Type definition error: " + ex.getType(), ex);
  }
  catch (JsonProcessingException ex) {
    throw new HttpMessageNotReadableException("JSON parse error: " + ex.getOriginalMessage(), ex);
  }
}

相关文章

微信公众号

最新文章

更多

ObjectMapper类方法