Example usage for com.fasterxml.jackson.core TreeNode size

List of usage examples for com.fasterxml.jackson.core TreeNode size

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core TreeNode size.

Prototype

int size();

Source Link

Document

Method that returns number of child nodes this node contains: for Array nodes, number of child elements, for Object nodes, number of fields, and for all other nodes 0.

Usage

From source file:com.anrisoftware.simplerest.oanda.rest.AbstractInstrumentHistory.java

private Collection<T> parseResponseList0(ObjectMapper mapper, JsonParser parser)
        throws IOException, JsonParseException, JsonMappingException {
    TreeNode tree = parser.readValueAsTree();
    TreeNode candlesNode = tree.get(CANDLES_NAME);
    int size = candlesNode.size();
    TreeNode node;//w w  w.  jav a  2s  .  com
    for (int i = 0; i < size; i++) {
        node = candlesNode.get(i);
        T obj = mapper.readValue(node.traverse(), candleType);
        log.parsedInstrumentHistory(obj);
        container.add(obj);
    }
    return container;
}

From source file:org.springframework.social.weibo.api.impl.json.TrendsDeserializer.java

@Override
public SortedSet<Trends> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    SimpleDateFormat dateFormat = new SimpleDateFormat();
    TreeSet<Trends> result = new TreeSet<Trends>(comparator);
    TreeNode treeNode = jp.readValueAsTree();

    Iterator<String> fieldNames = treeNode.fieldNames();

    while (fieldNames.hasNext()) {
        Trends trends = new Trends();
        try {/*  w  ww.ja v a 2  s.co  m*/
            String filedName = fieldNames.next();
            dateFormat.applyPattern(retrieveDateFormatPattern(filedName));
            trends.setDate(dateFormat.parse(filedName));
            TreeNode trendsNode = treeNode.get(filedName);
            if (trendsNode.isArray()) {
                for (int i = 0; i < trendsNode.size(); i++) {
                    JsonParser nodeParser = trendsNode.get(i).traverse();
                    nodeParser.setCodec(jp.getCodec());
                    Trend readValueAs = nodeParser.readValueAs(Trend.class);
                    trends.getTrends().add(readValueAs);
                }
            }
            result.add(trends);
        } catch (ParseException e) {
            logger.warn("Unable to parse date", e);
        }
    }

    return result;
}