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

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

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

ObjectMapper.treeAsTokens介绍

[英]Method for constructing a JsonParser out of JSON tree representation.
[中]用于从JSON树表示构建JsonParser的方法。

代码示例

代码示例来源:origin: prestodb/presto

@Override
  public ClientTypeSignatureParameter deserialize(JsonParser jp, DeserializationContext ctxt)
      throws IOException
  {
    JsonNode node = jp.getCodec().readTree(jp);
    ParameterKind kind = MAPPER.readValue(MAPPER.treeAsTokens(node.get("kind")), ParameterKind.class);
    JsonParser jsonValue = MAPPER.treeAsTokens(node.get("value"));
    Object value;
    switch (kind) {
      case TYPE:
        value = MAPPER.readValue(jsonValue, ClientTypeSignature.class);
        break;
      case NAMED_TYPE:
        value = MAPPER.readValue(jsonValue, NamedTypeSignature.class);
        break;
      case LONG:
        value = MAPPER.readValue(jsonValue, Long.class);
        break;
      default:
        throw new UnsupportedOperationException(format("Unsupported kind [%s]", kind));
    }
    return new ClientTypeSignatureParameter(kind, value);
  }
}

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

return readValue(treeAsTokens(n), valueType);
} catch (JsonProcessingException e) {
  throw e;

代码示例来源:origin: apache/drill

@SuppressWarnings("unchecked")
public <T> T getListWith(ObjectMapper mapper, TypeReference<T> t) throws IOException {
 if (opaque != null) {
  Type c = t.getType();
  if (c instanceof ParameterizedType) {
   c = ((ParameterizedType)c).getRawType();
  }
  if ( c.equals(opaque.getClass())) {
   return (T) opaque;
  } else {
   throw new IOException(String.format("Attempted to retrieve a list with type of %s.  However, the JSON " +
    "options carried an opaque value of type %s.", t.getType(), opaque.getClass().getName()));
  }
 }
 if (root == null) {
  return null;
 }
 return mapper.treeAsTokens(root).readValueAs(t);
}

代码示例来源:origin: stackoverflow.com

ObjectMapper mapper = new ObjectMapper();

JsonNode accounts = given().when().expect().statusCode(expectedResponseCode)
  .get("accounts/" + newClub.getOwner().getCustId() + "/clubs")
  .as(JsonNode.class);

//Jackson's use of generics here are completely unsafe, but that's another issue
List<Account> accountList = mapper.readValue(
  mapper.treeAsTokens(accounts), 
  new TypeReference<List<Account>>(){}
);

assertThat(accountList.get(0).getId()).isEqualTo(expectedId);

代码示例来源:origin: briandilley/jsonrpc4j

private Object constructResponseObject(Type returnType, ObjectNode jsonObject) throws IOException {
  JsonParser returnJsonParser = mapper.treeAsTokens(jsonObject.get(RESULT));
  JavaType returnJavaType = mapper.getTypeFactory().constructType(returnType);
  return mapper.readValue(returnJsonParser, returnJavaType);
}

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

public static <T> /*@Nullable*/ T getConfig(ObjectNode rootObjectNode, String key,
    TypeReference<T> typeReference) {
  JsonNode node = rootObjectNode.get(key);
  if (node == null) {
    return null;
  }
  try {
    return mapper.readValue(mapper.treeAsTokens(node), typeReference);
  } catch (IOException e) {
    logger.error("error parsing config json node '{}': ", key, e);
    return null;
  }
}

代码示例来源:origin: briandilley/jsonrpc4j

private Object[] convertJsonToParameters(Method m, List<JsonNode> params) throws IOException {
  Object[] convertedParams = new Object[params.size()];
  Type[] parameterTypes = m.getGenericParameterTypes();
  
  for (int i = 0; i < parameterTypes.length; i++) {
    JsonParser paramJsonParser = mapper.treeAsTokens(params.get(i));
    JavaType paramJavaType = mapper.getTypeFactory().constructType(parameterTypes[i]);
    convertedParams[i] = mapper.readerFor(paramJavaType)
      .with(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
      .readValue(paramJsonParser);
  }
  return convertedParams;
}

代码示例来源:origin: briandilley/jsonrpc4j

/**
 * Reads a JSON-PRC response from the server. This blocks until a response
 * is received.
 *
 * @param returnType the expected return type
 * @param ips        the {@link InputStream} to read from
 * @return the object returned by the JSON-RPC response
 * @throws Throwable on error
 */
private <T> T readResponse(Type returnType, InputStream ips) throws Throwable {
  JsonNode response = mapper.readTree(new NoCloseInputStream(ips));
  logger.debug("JSON-PRC Response: {}", response);
  if (!response.isObject()) {
    throw new JsonRpcClientException(0, "Invalid JSON-RPC response", response);
  }
  ObjectNode jsonObject = ObjectNode.class.cast(response);
  
  if (jsonObject.has(ERROR) && jsonObject.get(ERROR) != null && !jsonObject.get(ERROR).isNull()) {
    throw exceptionResolver.resolveException(jsonObject);
  }
  if (jsonObject.has(RESULT) && !jsonObject.get(RESULT).isNull() && jsonObject.get(RESULT) != null) {
    
    JsonParser returnJsonParser = mapper.treeAsTokens(jsonObject.get(RESULT));
    JavaType returnJavaType = mapper.getTypeFactory().constructType(returnType);
    
    return mapper.readValue(returnJsonParser, returnJavaType);
  }
  return null;
}

代码示例来源:origin: eiiches/jackson-jq

public static <T> List<T> map(final ObjectMapper mapper, final List<JsonNode> xs, final TypeReference<T> resultType) throws IOException {
  final List<T> result = new ArrayList<>();
  for (final JsonNode x : xs) {
    final T tmp = mapper.<T> readValue(mapper.treeAsTokens(x), resultType);
    result.add(tmp);
  }
  return result;
}

代码示例来源:origin: net.thisptr/jackson-jq

public static <T> List<T> map(final ObjectMapper mapper, final List<JsonNode> xs, final TypeReference<T> resultType) throws IOException {
  final List<T> result = new ArrayList<>();
  for (final JsonNode x : xs) {
    final T tmp = mapper.<T> readValue(mapper.treeAsTokens(x), resultType);
    result.add(tmp);
  }
  return result;
}

代码示例来源:origin: com.opencredo/concursus-domain-json

private BiFunction<JsonNode, Type, Object> makeDeserialiser(ObjectMapper mapper) {
  final TypeFactory typeFactory = mapper.getTypeFactory();
  return (node, type) -> {
    JavaType javaType = typeFactory.constructType(type);
    try {
      final JsonParser jsonParser = mapper.treeAsTokens(node);
      final ObjectCodec codec = jsonParser.getCodec();
      return codec.readValue(jsonParser, javaType);
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
  };
}

代码示例来源:origin: com.opencredo/concourse-domain-json

private BiFunction<JsonNode, Type, Object> makeDeserialiser(ObjectMapper mapper) {
  final TypeFactory typeFactory = mapper.getTypeFactory();
  return (node, type) -> {
    JavaType javaType = typeFactory.constructType(type);
    try {
      final JsonParser jsonParser = mapper.treeAsTokens(node);
      final ObjectCodec codec = jsonParser.getCodec();
      return codec.readValue(jsonParser, javaType);
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
  };
}

代码示例来源:origin: com.opencredo/concursus-domain-json

private BiFunction<JsonNode, Type, Object> makeDeserialiser(ObjectMapper mapper) {
    final TypeFactory typeFactory = mapper.getTypeFactory();
    return (node, type) -> {
      JavaType javaType = typeFactory.constructType(type);
      try {
        final JsonParser jsonParser = mapper.treeAsTokens(node);
        final ObjectCodec codec = jsonParser.getCodec();

        return codec.readValue(jsonParser, javaType);
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    };
  }
}

代码示例来源:origin: com.opencredo/concourse-domain-json

private BiFunction<JsonNode, Type, Object> makeDeserialiser(ObjectMapper mapper) {
    final TypeFactory typeFactory = mapper.getTypeFactory();
    return (node, type) -> {
      JavaType javaType = typeFactory.constructType(type);
      try {
        final JsonParser jsonParser = mapper.treeAsTokens(node);
        final ObjectCodec codec = jsonParser.getCodec();

        return codec.readValue(jsonParser, javaType);
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    };
  }
}

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

/** Get the value of specified column safely cast to type specifed via {@code typeReference}. */
public <T> T get(String columnName, TypeReference<T> typeReference) {
 ObjectMapper mapper = BatfishObjectMapper.mapper();
 JsonNode node = get(columnName);
 try {
  return mapper.readValue(mapper.treeAsTokens(node), typeReference);
 } catch (IOException e) {
  throw new ClassCastException(
    String.format(
      "Cannot cast row element in column '%s' given the provided TypeReference: %s",
      columnName, Throwables.getStackTraceAsString(e)));
 }
}

代码示例来源:origin: org.apache.james/event-sourcing-event-store-cassandra

public Event deserialize(String value) throws IOException {
  JsonNode jsonNode = objectMapper.readTree(value);
  String type = jsonNode.path("type").asText();
  EventDTO dto = objectMapper.readValue(
    objectMapper.treeAsTokens(jsonNode),
    retrieveDTOClass(type));
  return dto.toEvent();
}

代码示例来源:origin: jasminb/jsonapi-converter

/**
 * Deserializes a <a href="http://jsonapi.org/format/#document-meta">JSON-API meta object</a> to a {@code Map}
 * keyed by the member names.  Because {@code meta} objects contain arbitrary information, the values in the
 * map are of unknown type.
 *
 * @param metaNode a JsonNode representing a meta object
 * @return a Map of the meta information, keyed by member name.
 */
private Map<String, Object> mapMeta(JsonNode metaNode) {
  JsonParser p = objectMapper.treeAsTokens(metaNode);
  MapType mapType = TypeFactory.defaultInstance()
      .constructMapType(HashMap.class, String.class, Object.class);
  try {
    return objectMapper.readValue(p, mapType);
  } catch (IOException e) {
    // TODO: log? No recovery.
  }
  return null;
}

代码示例来源:origin: dremio/dremio-oss

@SuppressWarnings("unchecked")
public <T> T getListWith(ObjectMapper mapper, TypeReference<T> t) throws IOException {
 if (opaque != null) {
  Type c = t.getType();
  if (c instanceof ParameterizedType) {
   c = ((ParameterizedType)c).getRawType();
  }
  if ( c.equals(opaque.getClass())) {
   return (T) opaque;
  } else {
   throw new IOException(String.format("Attempted to retrieve a list with type of %s.  However, the JSON " +
    "options carried an opaque value of type %s.", t.getType(), opaque.getClass().getName()));
  }
 }
 if (root == null) {
  return null;
 }
 return mapper.treeAsTokens(root).readValueAs(t);
}

代码示例来源:origin: org.apache.drill/drill-logical

@SuppressWarnings("unchecked")
public <T> T getListWith(ObjectMapper mapper, TypeReference<T> t) throws IOException {
 if (opaque != null) {
  Type c = t.getType();
  if (c instanceof ParameterizedType) {
   c = ((ParameterizedType)c).getRawType();
  }
  if ( c.equals(opaque.getClass())) {
   return (T) opaque;
  } else {
   throw new IOException(String.format("Attempted to retrieve a list with type of %s.  However, the JSON " +
    "options carried an opaque value of type %s.", t.getType(), opaque.getClass().getName()));
  }
 }
 if (root == null) {
  return null;
 }
 return mapper.treeAsTokens(root).readValueAs(t);
}

代码示例来源:origin: com.hubspot.jackson/jackson-datatype-protobuf

@SuppressWarnings("unchecked")
public static <T extends MessageOrBuilder> List<T> writeAndReadBack(ObjectMapper mapper, List<T> values) {
 if (values.isEmpty()) {
  return Collections.emptyList();
 }
 Class<T> messageType = (Class<T>) values.get(0).getClass();
 JsonParser parser = mapper.treeAsTokens(toTree(mapper, values));
 try {
  return Lists.newArrayList(mapper.readValues(parser, messageType));
 } catch (IOException e) {
  throw new RuntimeException(e);
 }
}

相关文章

微信公众号

最新文章

更多

ObjectMapper类方法