Search in sources :

Example 1 with BinaryNode

use of com.fasterxml.jackson.databind.node.BinaryNode in project jackson-databind by FasterXML.

the class TestTreeTraversingParser method testBinaryNode.

public void testBinaryNode() throws Exception {
    byte[] inputBinary = new byte[] { 0, -5 };
    BinaryNode n = new BinaryNode(inputBinary);
    JsonParser p = n.traverse();
    assertNull(p.getCurrentToken());
    // exposed as POJO... not as VALUE_STRING
    assertToken(JsonToken.VALUE_EMBEDDED_OBJECT, p.nextToken());
    byte[] data = p.getBinaryValue();
    assertNotNull(data);
    assertArrayEquals(inputBinary, data);
    // but as importantly, can be viewed as base64 encoded thing:
    assertEquals("APs=", p.getText());
    assertNull(p.nextToken());
    p.close();
}
Also used : BinaryNode(com.fasterxml.jackson.databind.node.BinaryNode)

Example 2 with BinaryNode

use of com.fasterxml.jackson.databind.node.BinaryNode in project lucene-solr by apache.

the class SmileWriterTest method getVal.

public static Object getVal(JsonNode value) {
    if (value instanceof NullNode) {
        return null;
    }
    if (value instanceof NumericNode) {
        return ((NumericNode) value).numberValue();
    }
    if (value instanceof BooleanNode) {
        ((BooleanNode) value).booleanValue();
    }
    if (value instanceof ObjectNode) {
        Iterator<Map.Entry<String, JsonNode>> it = ((ObjectNode) value).fields();
        Map result = new LinkedHashMap<>();
        while (it.hasNext()) {
            Map.Entry<String, JsonNode> e = it.next();
            result.put(e.getKey(), getVal(e.getValue()));
        }
        return result;
    }
    if (value instanceof ArrayNode) {
        ArrayList result = new ArrayList();
        Iterator<JsonNode> it = ((ArrayNode) value).elements();
        while (it.hasNext()) {
            result.add(getVal(it.next()));
        }
        return result;
    }
    if (value instanceof BinaryNode) {
        return ((BinaryNode) value).binaryValue();
    }
    return value.textValue();
}
Also used : ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) ArrayList(java.util.ArrayList) JsonNode(com.fasterxml.jackson.databind.JsonNode) NumericNode(com.fasterxml.jackson.databind.node.NumericNode) BooleanNode(com.fasterxml.jackson.databind.node.BooleanNode) LinkedHashMap(java.util.LinkedHashMap) BinaryNode(com.fasterxml.jackson.databind.node.BinaryNode) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) NullNode(com.fasterxml.jackson.databind.node.NullNode)

Aggregations

BinaryNode (com.fasterxml.jackson.databind.node.BinaryNode)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)1 BooleanNode (com.fasterxml.jackson.databind.node.BooleanNode)1 NullNode (com.fasterxml.jackson.databind.node.NullNode)1 NumericNode (com.fasterxml.jackson.databind.node.NumericNode)1 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)1 ArrayList (java.util.ArrayList)1 LinkedHashMap (java.util.LinkedHashMap)1 Map (java.util.Map)1