Search in sources :

Example 1 with DoubleNode

use of com.fasterxml.jackson.databind.node.DoubleNode in project swagger-core by swagger-api.

the class PropertyDeserializer method getEnum.

private static List<String> getEnum(JsonNode node, PropertyBuilder.PropertyId type) {
    final List<String> result = new ArrayList<String>();
    JsonNode detailNode = getDetailNode(node, type);
    if (detailNode != null) {
        ArrayNode an = (ArrayNode) detailNode;
        for (JsonNode child : an) {
            if (child instanceof TextNode || child instanceof NumericNode || child instanceof IntNode || child instanceof LongNode || child instanceof DoubleNode || child instanceof FloatNode) {
                result.add(child.asText());
            }
        }
    }
    return result.isEmpty() ? null : result;
}
Also used : IntNode(com.fasterxml.jackson.databind.node.IntNode) ArrayList(java.util.ArrayList) FloatNode(com.fasterxml.jackson.databind.node.FloatNode) DoubleNode(com.fasterxml.jackson.databind.node.DoubleNode) JsonNode(com.fasterxml.jackson.databind.JsonNode) TextNode(com.fasterxml.jackson.databind.node.TextNode) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) NumericNode(com.fasterxml.jackson.databind.node.NumericNode) LongNode(com.fasterxml.jackson.databind.node.LongNode)

Example 2 with DoubleNode

use of com.fasterxml.jackson.databind.node.DoubleNode in project symja_android_library by axkr.

the class ExpressionJSONConvert method importExpressionJSONRecursive.

public static IExpr importExpressionJSONRecursive(JsonNode node) {
    if (node instanceof ArrayNode) {
        ArrayNode arrayNode = (ArrayNode) node;
        Iterator<JsonNode> iter = arrayNode.elements();
        IASTAppendable ast;
        if (iter.hasNext()) {
            JsonNode next = iter.next();
            IExpr temp = importExpressionJSONRecursive(next);
            if (temp.isPresent()) {
                ast = F.ast(temp, arrayNode.size() - 1);
                while (iter.hasNext()) {
                    next = iter.next();
                    temp = importExpressionJSONRecursive(next);
                    if (temp.isPresent()) {
                        ast.append(temp);
                    }
                }
                return ast;
            }
        }
        return F.NIL;
    } else if (node instanceof ObjectNode) {
        IASTAppendable list = F.ListAlloc();
        ObjectNode objectNode = (ObjectNode) node;
        Iterator<Entry<String, JsonNode>> iter = objectNode.fields();
        while (iter.hasNext()) {
            Entry<String, JsonNode> next = iter.next();
            IExpr temp = importExpressionJSONRecursive(next.getValue());
            if (temp.isPresent()) {
                list.append(F.Rule(F.$str(next.getKey()), temp));
            }
        }
        return list;
    } else if (node instanceof ValueNode) {
        ValueNode valueNode = (ValueNode) node;
        if (valueNode instanceof NumericNode) {
            if (valueNode instanceof DoubleNode) {
                return F.num(valueNode.doubleValue());
            } else if (valueNode instanceof FloatNode) {
                return F.num(valueNode.doubleValue());
            } else if (valueNode instanceof IntNode) {
                return F.ZZ(valueNode.intValue());
            } else if (valueNode instanceof LongNode) {
                return F.ZZ(valueNode.longValue());
            } else if (valueNode instanceof ShortNode) {
                return F.ZZ(valueNode.intValue());
            } else if (valueNode instanceof BigIntegerNode) {
                return F.ZZ(valueNode.bigIntegerValue());
            } else if (valueNode instanceof DecimalNode) {
                return F.num(new Apfloat(valueNode.decimalValue()));
            }
        }
        if (valueNode instanceof BooleanNode) {
            return valueNode.booleanValue() ? S.True : S.False;
        } else if (valueNode instanceof NullNode) {
            return S.Null;
        } else if (valueNode instanceof TextNode) {
            String symbolName = valueNode.textValue();
            if (symbolName.length() > 1 && symbolName.charAt(0) == '\'' && symbolName.charAt(symbolName.length() - 1) == '\'') {
                return F.$str(symbolName.substring(1, symbolName.length() - 1));
            }
            if (Scanner.isIdentifier(symbolName)) {
                return F.symbol(symbolName);
            }
            return F.$str(symbolName);
        }
        return F.$str(valueNode.toString());
    }
    return F.NIL;
}
Also used : ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) FloatNode(com.fasterxml.jackson.databind.node.FloatNode) DoubleNode(com.fasterxml.jackson.databind.node.DoubleNode) JsonNode(com.fasterxml.jackson.databind.JsonNode) BigIntegerNode(com.fasterxml.jackson.databind.node.BigIntegerNode) TextNode(com.fasterxml.jackson.databind.node.TextNode) NumericNode(com.fasterxml.jackson.databind.node.NumericNode) LongNode(com.fasterxml.jackson.databind.node.LongNode) BooleanNode(com.fasterxml.jackson.databind.node.BooleanNode) Apfloat(org.apfloat.Apfloat) ShortNode(com.fasterxml.jackson.databind.node.ShortNode) Entry(java.util.Map.Entry) IntNode(com.fasterxml.jackson.databind.node.IntNode) IASTAppendable(org.matheclipse.core.interfaces.IASTAppendable) Iterator(java.util.Iterator) ValueNode(com.fasterxml.jackson.databind.node.ValueNode) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) IExpr(org.matheclipse.core.interfaces.IExpr) DecimalNode(com.fasterxml.jackson.databind.node.DecimalNode) NullNode(com.fasterxml.jackson.databind.node.NullNode)

Example 3 with DoubleNode

use of com.fasterxml.jackson.databind.node.DoubleNode in project symja_android_library by axkr.

the class JSONConvert method importJSONRecursive.

public static IExpr importJSONRecursive(JsonNode node) {
    if (node instanceof ArrayNode) {
        ArrayNode arrayNode = (ArrayNode) node;
        Iterator<JsonNode> iter = arrayNode.elements();
        IASTAppendable list = F.ListAlloc(arrayNode.size());
        while (iter.hasNext()) {
            JsonNode next = iter.next();
            IExpr temp = importJSONRecursive(next);
            if (temp.isPresent()) {
                list.append(temp);
            }
        }
        return list;
    } else if (node instanceof ObjectNode) {
        IASTAppendable list = F.ListAlloc();
        ObjectNode objectNode = (ObjectNode) node;
        Iterator<Entry<String, JsonNode>> iter = objectNode.fields();
        while (iter.hasNext()) {
            Entry<String, JsonNode> next = iter.next();
            IExpr temp = importJSONRecursive(next.getValue());
            if (temp.isPresent()) {
                list.append(F.Rule(F.$str(next.getKey()), temp));
            }
        }
        return list;
    } else if (node instanceof ValueNode) {
        ValueNode valueNode = (ValueNode) node;
        if (valueNode instanceof NumericNode) {
            if (valueNode instanceof DoubleNode) {
                return F.num(valueNode.doubleValue());
            } else if (valueNode instanceof FloatNode) {
                return F.num(valueNode.doubleValue());
            } else if (valueNode instanceof IntNode) {
                return F.ZZ(valueNode.intValue());
            } else if (valueNode instanceof LongNode) {
                return F.ZZ(valueNode.longValue());
            } else if (valueNode instanceof ShortNode) {
                return F.ZZ(valueNode.intValue());
            } else if (valueNode instanceof BigIntegerNode) {
                return F.ZZ(valueNode.bigIntegerValue());
            } else if (valueNode instanceof DecimalNode) {
                return F.num(new Apfloat(valueNode.decimalValue()));
            }
        }
        if (valueNode instanceof BooleanNode) {
            return valueNode.booleanValue() ? S.True : S.False;
        } else if (valueNode instanceof NullNode) {
            return S.Null;
        } else if (valueNode instanceof TextNode) {
            return F.$str(valueNode.textValue());
        }
        return F.$str(valueNode.toString());
    }
    return F.NIL;
}
Also used : ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) FloatNode(com.fasterxml.jackson.databind.node.FloatNode) DoubleNode(com.fasterxml.jackson.databind.node.DoubleNode) JsonNode(com.fasterxml.jackson.databind.JsonNode) BigIntegerNode(com.fasterxml.jackson.databind.node.BigIntegerNode) TextNode(com.fasterxml.jackson.databind.node.TextNode) NumericNode(com.fasterxml.jackson.databind.node.NumericNode) LongNode(com.fasterxml.jackson.databind.node.LongNode) BooleanNode(com.fasterxml.jackson.databind.node.BooleanNode) Apfloat(org.apfloat.Apfloat) ShortNode(com.fasterxml.jackson.databind.node.ShortNode) Entry(java.util.Map.Entry) IntNode(com.fasterxml.jackson.databind.node.IntNode) IASTAppendable(org.matheclipse.core.interfaces.IASTAppendable) Iterator(java.util.Iterator) ValueNode(com.fasterxml.jackson.databind.node.ValueNode) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) IExpr(org.matheclipse.core.interfaces.IExpr) DecimalNode(com.fasterxml.jackson.databind.node.DecimalNode) NullNode(com.fasterxml.jackson.databind.node.NullNode)

Example 4 with DoubleNode

use of com.fasterxml.jackson.databind.node.DoubleNode in project XRTB by benmfaul.

the class Node method traverse.

/**
 * Traverse an ArrayNode and convert to ArrayList
 *
 * @param n.
 *            A Jackson ArrayNode.
 * @return List. The list that corresponds to the Jackson ArrayNode.
 */
List traverse(ArrayNode n) {
    List list = new ArrayList();
    for (int i = 0; i < n.size(); i++) {
        Object obj = n.get(i);
        if (obj instanceof IntNode) {
            IntNode d = (IntNode) obj;
            list.add(d.numberValue());
        } else if (obj instanceof DoubleNode) {
            DoubleNode d = (DoubleNode) obj;
            list.add(d.numberValue());
        } else if (obj instanceof ArrayNode) {
            ArrayNode nodes = (ArrayNode) obj;
            for (int k = 0; i < nodes.size(); i++) {
                list.add(nodes.get(k));
            }
        } else if (obj instanceof TextNode) {
            TextNode t = (TextNode) obj;
            list.add(t.textValue());
        } else {
            list.add(obj);
        }
    }
    return list;
}
Also used : IntNode(com.fasterxml.jackson.databind.node.IntNode) ArrayList(java.util.ArrayList) DoubleNode(com.fasterxml.jackson.databind.node.DoubleNode) ArrayList(java.util.ArrayList) List(java.util.List) TextNode(com.fasterxml.jackson.databind.node.TextNode) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode)

Example 5 with DoubleNode

use of com.fasterxml.jackson.databind.node.DoubleNode in project XRTB by benmfaul.

the class ANode method traverse.

/**
 * Traverse an ArrayNode and convert to ArrayList
 *
 * @param n. A Jackson ArrayNode.
 * @return List. The list that corresponds to the Jackson ArrayNode.
 */
List traverse(ArrayNode n) {
    List list = new ArrayList();
    for (int i = 0; i < n.size(); i++) {
        Object obj = n.get(i);
        if (obj instanceof IntNode) {
            IntNode d = (IntNode) obj;
            list.add(d.numberValue());
        } else if (obj instanceof DoubleNode) {
            DoubleNode d = (DoubleNode) obj;
            list.add(d.numberValue());
        } else {
            TextNode t = (TextNode) obj;
            list.add(t.textValue());
        }
    }
    return list;
}
Also used : IntNode(com.fasterxml.jackson.databind.node.IntNode) ArrayList(java.util.ArrayList) DoubleNode(com.fasterxml.jackson.databind.node.DoubleNode) ArrayList(java.util.ArrayList) List(java.util.List) TextNode(com.fasterxml.jackson.databind.node.TextNode)

Aggregations

DoubleNode (com.fasterxml.jackson.databind.node.DoubleNode)10 IntNode (com.fasterxml.jackson.databind.node.IntNode)10 TextNode (com.fasterxml.jackson.databind.node.TextNode)9 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)6 FloatNode (com.fasterxml.jackson.databind.node.FloatNode)4 LongNode (com.fasterxml.jackson.databind.node.LongNode)4 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)4 ArrayList (java.util.ArrayList)4 Iterator (java.util.Iterator)4 JsonNode (com.fasterxml.jackson.databind.JsonNode)3 NumericNode (com.fasterxml.jackson.databind.node.NumericNode)3 List (java.util.List)3 BigIntegerNode (com.fasterxml.jackson.databind.node.BigIntegerNode)2 BooleanNode (com.fasterxml.jackson.databind.node.BooleanNode)2 DecimalNode (com.fasterxml.jackson.databind.node.DecimalNode)2 MissingNode (com.fasterxml.jackson.databind.node.MissingNode)2 NullNode (com.fasterxml.jackson.databind.node.NullNode)2 ShortNode (com.fasterxml.jackson.databind.node.ShortNode)2 ValueNode (com.fasterxml.jackson.databind.node.ValueNode)2 NavMap (com.xrtb.blocks.NavMap)2