本文整理了Java中com.fasterxml.jackson.databind.ObjectMapper.treeAsTokens()
方法的一些代码示例,展示了ObjectMapper.treeAsTokens()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ObjectMapper.treeAsTokens()
方法的具体详情如下:
包路径:com.fasterxml.jackson.databind.ObjectMapper
类名称: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);
}
}
内容来源于网络,如有侵权,请联系作者删除!