com.fasterxml.jackson.databind.ObjectMapper#treeToValue ( )源码实例Demo

下面列出了com.fasterxml.jackson.databind.ObjectMapper#treeToValue ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: immutables   文件: IdAnnotationModuleTest.java
/**
 * Check annotation lookup for java beans
 */
@ParameterizedTest
@MethodSource("mappers")
void javaBean(ObjectMapper mapper) throws IOException {
  JavaBean1 bean1 = new JavaBean1();
  bean1.setString1("id123");
  bean1.setInt1(42);
  bean1.setBase("base1");

  ObjectNode node = mapper.valueToTree(bean1);
  check(ImmutableList.copyOf(node.fieldNames())).has("_id");
  check(node.get("_id").asText()).is("id123");
  check(ImmutableList.copyOf(node.fieldNames())).not().has("string1");

  JavaBean1 bean2 = mapper.treeToValue(node, JavaBean1.class);
  check(bean2.getString1()).is("id123");
  check(bean2.getInt1()).is(42);
  check(bean2.getBase()).is("base1");
}
 
源代码2 项目: nodes   文件: Deserializer.java
@Override
public Resource<T> deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {

    Resource<T> resourceModel = new Resource<T>();

    ObjectMapper mapper = objectMapperFactory.newDeserializerMapper();
    ObjectCodec oc = jsonParser.getCodec();
    JsonNode node = oc.readTree(jsonParser);

    T resource;

    GraphQLProperty graphQLProperty = t.getAnnotation(GraphQLProperty.class);
    if (graphQLProperty != null) {
        String resourceName = graphQLProperty.name();
        JsonNode innerNode = node.get(resourceName);
        resource = mapper.treeToValue(innerNode, t);
    } else {
        resource = mapper.readValue(node.toString(), t);
    }

    resourceModel.setResource(resource);

    return resourceModel;
}
 
源代码3 项目: BigDataPlatform   文件: JacksonUtil.java
public static <T> T parseObject(String body, String field, Class<T> clazz) {
    ObjectMapper mapper = new ObjectMapper();
    JsonNode node;
    try {
        node = mapper.readTree(body);
        node = node.get(field);
        return mapper.treeToValue(node, clazz);
    } catch (IOException e) {
        logger.error(e.getMessage(), e);
    }
    return null;
}
 
private Object readValue(ObjectMapper mapper, JsonNode root, Class<?> clazz) {
    try {
        return mapper.treeToValue(root, clazz);
    } catch (JsonProcessingException e) {
        throw new RuntimeException(e);
    }
}
 
源代码5 项目: kogito-runtimes   文件: ExtensionDeserializer.java
@Override
public Extension deserialize(JsonParser jp,
                             DeserializationContext ctxt) throws IOException {

    ObjectMapper mapper = (ObjectMapper) jp.getCodec();
    JsonNode node = jp.getCodec().readTree(jp);

    String extensionId = node.get("extensionid").asText();

    if (context != null) {
        try {
            String result = context.getPropertySource().getProperty(extensionId);

            if (result != null) {
                extensionId = result;
            }
        } catch (Exception e) {
            logger.info("Exception trying to evaluate property: {}", e.getMessage());
        }
    }

    // based on the name return the specific extension impl
    if (extensionsMap != null && extensionsMap.containsKey(extensionId)) {
        return mapper.treeToValue(node,
                                  extensionsMap.get(extensionId));
    } else {
        throw new IllegalArgumentException("Extension handler not registered for: " + extensionId);
    }
}
 
源代码6 项目: litemall   文件: JacksonUtil.java
public static <T> T parseObject(String body, String field, Class<T> clazz) {
    ObjectMapper mapper = new ObjectMapper();
    JsonNode node;
    try {
        node = mapper.readTree(body);
        node = node.get(field);
        return mapper.treeToValue(node, clazz);
    } catch (IOException e) {
        logger.error(e.getMessage(), e);
    }
    return null;
}
 
源代码7 项目: glowroot   文件: CentralRepoModule.java
private static void populateFromAdminDefault(File file, ConfigRepositoryImpl configRepository)
        throws Exception {
    ObjectMapper mapper = ObjectMappers.create();
    String content = Files.asCharSource(file, UTF_8).read();
    JsonNode rootNode = mapper.readTree(content);
    AllAdminConfigUtil.updatePasswords(rootNode, configRepository);
    AllCentralAdminConfig config =
            mapper.treeToValue(rootNode, ImmutableAllCentralAdminConfig.class);
    configRepository.updateAllCentralAdminConfig(config, null);
}
 
源代码8 项目: yare   文件: OperatorDeserializer.java
private List<Operand> mapNodeAsListOfOperands(JsonNode jsonNode, ObjectMapper objectMapper) throws JsonProcessingException {
    Iterator<JsonNode> operandNodes = jsonNode.iterator();
    List<Operand> operands = new ArrayList<>();
    while (operandNodes.hasNext()) {
        JsonNode node = operandNodes.next();
        Operand o = objectMapper.treeToValue(node, Operand.class);
        operands.add(o);
    }
    return operands;
}
 
@SuppressWarnings("unchecked")
public static <T extends MessageOrBuilder> T writeAndReadBack(ObjectMapper mapper, T value) {
  TreeNode tree = toTree(mapper, value);

  try {
    return (T) mapper.treeToValue(tree, value.getClass());
  } catch (JsonProcessingException e) {
    throw new RuntimeException(e);
  }
}
 
@Test
public void testDisabled() throws JsonProcessingException {
  ObjectMapper mapper = objectMapper(false);

  AllFields parsed = mapper.treeToValue(buildNode(), AllFields.class);
  assertThat(parsed.hasEnum()).isTrue();
  assertThat(parsed.getEnum()).isEqualTo(TestProtobuf.Enum.TWO);
}
 
源代码11 项目: allure2   文件: HistoryTrendPlugin.java
@Override
protected Optional<HistoryTrendItem> parseItem(final ObjectMapper mapper, final JsonNode child)
        throws JsonProcessingException {

    if (Objects.nonNull(child.get("total"))) {
        final Statistic statistic = mapper.treeToValue(child, Statistic.class);
        return Optional.of(new HistoryTrendItem().setStatistic(statistic));
    }
    return Optional.ofNullable(mapper.treeToValue(child, HistoryTrendItem.class));
}
 
@Test(expected = JsonMappingException.class)
public void testStringDisabled() throws JsonProcessingException {
  ObjectMapper mapper = objectMapper(false);

  mapper.treeToValue(buildNode("fakeValue"), AllFields.class);
}
 
@Test(expected = JsonMappingException.class)
public void testIntDisabled() throws JsonProcessingException {
  ObjectMapper mapper = objectMapper(false);

  mapper.treeToValue(buildNode(999999), AllFields.class);
}
 
源代码14 项目: yare   文件: ValueDeserializer.java
private Object mapValueByType(JsonNode jsonNode, String type, ObjectMapper objectMapper) throws JsonProcessingException {
    Class<?> resolvedType = (Class<?>) typeConverter.fromString(Type.class, type);
    return objectMapper.treeToValue(jsonNode, resolvedType);
}
 
源代码15 项目: yare   文件: AttributeDeserializer.java
private Object mapValueByType(JsonNode jsonNode, String type, ObjectMapper objectMapper) throws JsonProcessingException {
    Class<?> resolvedType = (Class<?>) typeConverter.fromString(Type.class, type);
    return objectMapper.treeToValue(jsonNode, resolvedType);
}
 
源代码16 项目: yare   文件: ParameterDeserializer.java
private Expression getExpression(JsonNode jsonNode, ObjectMapper objectMapper) throws JsonProcessingException {
    return jsonNode != null ? objectMapper.treeToValue(jsonNode, Expression.class) : null;
}
 
源代码17 项目: jhipster-online   文件: StatisticsService.java
@Transactional
@Async("statisticsExecutor")
public void addEntry(String entry, String host) throws IOException {
    ObjectMapper mapper = new ObjectMapper();
    JsonNode jsonNodeRoot = mapper.readTree(entry);
    JsonNode jsonNodeGeneratorJHipster = jsonNodeRoot.get("generator-jhipster");
    String generatorGuid = jsonNodeRoot.get("generator-id").asText();
    String generatorVersion = jsonNodeRoot.get("generator-version").asText();
    String gitProvider = jsonNodeRoot.get("git-provider").asText();
    String nodeVersion = jsonNodeRoot.get("node-version").asText();
    String os = jsonNodeRoot.get("os").asText();
    String arch = jsonNodeRoot.get("arch").asText();
    String cpu = jsonNodeRoot.get("cpu").asText();
    String cores = jsonNodeRoot.get("cores").asText();
    String memory = jsonNodeRoot.get("memory").asText();
    String userLanguage = jsonNodeRoot.get("user-language").asText();

    YoRC yorc = mapper.treeToValue(jsonNodeGeneratorJHipster, YoRC.class);

    Instant now = Instant.now();
    DateUtil.setAbsoluteDate(yorc, now);

    yorc.jhipsterVersion(generatorVersion)
        .gitProvider(gitProvider)
        .nodeVersion(nodeVersion)
        .os(os)
        .arch(arch)
        .cpu(cpu)
        .cores(cores)
        .memory(memory)
        .userLanguage(userLanguage)
        .creationDate(now);

    log.info("Adding an entry for generator {}.", generatorGuid);
    this.tryToCreateGeneratorIdentityAndIgnoreErrors(generatorGuid);

    Optional<GeneratorIdentity> generatorIdentity = generatorIdentityService.findOneByGuid(generatorGuid);

    if (generatorIdentity.isPresent()) {
        generatorIdentity.get().host(host);
        yorc.owner(generatorIdentity.get());
    } else {
        log.info("GeneratorIdentity {} was not correctly created", generatorGuid);
    }

    yoRCService.save(yorc);
}
 
源代码18 项目: incubator-pinot   文件: GenericResultSetMapper.java
private <E extends AbstractEntity> List<E> toEntityList(ResultSet rs,
    Class<E> entityClass) throws Exception {
  String tableName =
      entityMappingHolder.tableToEntityNameMap.inverse().get(entityClass.getSimpleName());
  LinkedHashMap<String, ColumnInfo> columnInfoMap =
      entityMappingHolder.columnInfoPerTable.get(tableName);
  List<E> entityList = new ArrayList<>();

  ObjectMapper mapper = new ObjectMapper();
  while (rs.next()) {
    AbstractEntity entityObj = entityClass.newInstance();
    ResultSetMetaData resultSetMetaData = rs.getMetaData();
    int numColumns = resultSetMetaData.getColumnCount();
    ObjectNode objectNode = mapper.createObjectNode();
    for (int i = 1; i <= numColumns; i++) {
      String dbColumnName = resultSetMetaData.getColumnLabel(i).toLowerCase();
      ColumnInfo columnInfo = columnInfoMap.get(dbColumnName);
      Field field = columnInfo.field;
      Object val;
      if (columnInfo.sqlType == Types.CLOB) {
        Clob clob = rs.getClob(i);
        val = clob.getSubString(1, (int) clob.length());
      } else {
        val = rs.getObject(i);
      }
      if (val == null) {
        continue;
      }
      if (field.getType().isAssignableFrom(Timestamp.class)) {
        objectNode.put(field.getName(), ((Timestamp) val).getTime());
      } else {
        objectNode.put(field.getName(), val.toString());
      }

      /*
       * if (Enum.class.isAssignableFrom(field.getType())) { field.set(entityObj,
       * Enum.valueOf(field.getType().asSubclass(Enum.class), val.toString())); } else if
       * (String.class.isAssignableFrom(field.getType())) { field.set(entityObj, val.toString());
       * } else if (Integer.class.isAssignableFrom(field.getType())) { field.set(entityObj,
       * Integer.valueOf(val.toString())); } else if
       * (Long.class.isAssignableFrom(field.getType())) { field.set(entityObj,
       * Long.valueOf(val.toString())); } else { field.set(entityObj, val); }
       */
    }
    entityObj = mapper.treeToValue(objectNode, entityClass);
    entityList.add((E) entityObj);
  }

  return entityList;

}
 
源代码19 项目: scava   文件: BitbucketManager.java
@Override
public Date getFirstDate(DB db, BitbucketBugTrackingSystem bitbucketTracker) throws Exception {
	
	setClient(bitbucketTracker);
	
	Date firstDate = null;
	
	ObjectMapper mapper = new ObjectMapper();
	
	mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

	ProcessedBitBucketURL processedURL= new ProcessedBitBucketURL(bitbucketTracker);
	
	HttpUrl.Builder builder = HttpUrl.parse(processedURL.getHost() + exthost).newBuilder();
	builder.addEncodedPathSegment(processedURL.getOwner());
	builder.addEncodedPathSegment(processedURL.getRepository());
	builder.addEncodedPathSegment("issues");
	builder.addEncodedQueryParameter("sort", "created_on");
	builder.addEncodedQueryParameter("pagelen", PAGE_SIZE); // page size

	this.builder = builder.toString();

	Request request = new Request.Builder().url(builder.toString()).get().build();

	Response response = this.client.newCall(request).execute();

	JsonNode rootNode = new ObjectMapper().readTree(response.body().string());

	if (rootNode.get("values").isArray()) {
		Issue issue = mapper.treeToValue(rootNode.get("values").get(0), Issue.class);
		firstDate = new Date(convertStringToDate(issue.getCreatedOn()).toString());
	}

	// No need for pagination - issues are returned as an array.

	response.close();

	return firstDate;

}
 
源代码20 项目: registry   文件: AbstractRestIntegrationTest.java
/**
 * Get response code from the response string.
 *
 * @param response
 * @return
 * @throws Exception
 */
public int getResponseCode(String response) throws Exception {
    ObjectMapper mapper = new ObjectMapper();
    JsonNode node = mapper.readTree(response);
    return mapper.treeToValue(node.get("responseCode"), Integer.class);
}