private static Object convert(JsonNode value) { if (value.isArray()) { List<String> retvalList = new ArrayList<>(); for (JsonNode arrayElement : value) retvalList.add(arrayElement.asText()); return retvalList; } return value.getNodeType() == JsonNodeType.NUMBER ? value.numberValue() : value.asText(); }
@Override public Number getNumberValue() throws IOException, JsonParseException { return currentNumericNode().numberValue(); }
private Object toValue(JsonNode node) throws IOException { if (node.isTextual()) { return node.asText(); } else if (node.isNumber()) { return node.numberValue(); } else if (node.isBoolean()) { return node.asBoolean(); } else if (node.isBinary()) { return node.binaryValue(); } else { throw new IllegalStateException("Unexpected range bound value: " + node); } } }
return null; case NUMBER: return read.numberValue(); case OBJECT: return read;
@Override public String getText() { if (_closed) { return null; } // need to separate handling a bit... switch (_currToken) { case FIELD_NAME: return _nodeCursor.getCurrentName(); case VALUE_STRING: return currentNode().textValue(); case VALUE_NUMBER_INT: case VALUE_NUMBER_FLOAT: return String.valueOf(currentNode().numberValue()); case VALUE_EMBEDDED_OBJECT: JsonNode n = currentNode(); if (n != null && n.isBinary()) { // this will convert it to base64 return n.asText(); } default: return (_currToken == null) ? null : _currToken.asString(); } }
createdAt = DateTimeUtils.parseTimestamp(o.getValue().isNumber() ? o.getValue().numberValue() : o.getValue().textValue()); } catch (Exception e) {
@Override public Number toNumber(JsonNode n) { return n.numberValue(); }
@Override public Number toNumber(JsonNode n) { return n.numberValue(); }
private static JsonElement getPrimitiveJsonElement(JsonNode node) { if (node.isNull()) { return JsonNull.INSTANCE; } else if (node.isNumber()) { return new JsonPrimitive(node.numberValue()); } com.google.gson.JsonParser parser = new com.google.gson.JsonParser(); return parser.parse(node.asText()); }
@Override public Number getNumberValue() throws IOException, JsonParseException { return currentNumericNode().numberValue(); }
@Override public Number getNumberValue() throws IOException, JsonParseException { return currentNumericNode().numberValue(); }
@Override public Number getNumberValue() throws IOException, JsonParseException { return currentNumericNode().numberValue(); }
@Override public Number getNumberValue() throws IOException, JsonParseException { return currentNumericNode().numberValue(); }
@Override public Number getNumberValue() throws IOException, JsonParseException { return currentNumericNode().numberValue(); }
@Override public Number getNumberValue() throws IOException, JsonParseException { return currentNumericNode().numberValue(); }
private Object unwrap(JsonNode node) { if (node.isValueNode()) { if (node.isNumber()) { return node.numberValue(); } else if (node.isTextual()) { return node.asText(); } else { return node; } } else { return node; } } }
@Override public CompletableFuture<Message> apply(Message message) { try { JsonNode root = MAPPER.readTree(message.getBody()); String query = root.get("q").asText(); Optional<Long> limit = Optional.ofNullable(root.get("l").numberValue()).map(Number::longValue); PageFinder pageFinder = new GoogleImagesFinder(query, limit); Stream<String> pageUrls = pageFinder.findPageUrls(); return sequence(pageUrls.map(this::sendUrl)).thenApply(s -> message); } catch (Exception ex) { throw new RuntimeException(ex); } }
private static Object getValue(JsonNode node) { return node.isTextual() ? node.textValue() : node.isNumber() ? node.numberValue() : node.isBoolean() ? node.booleanValue() : node.textValue(); } }
@Override protected Object _fromJson(JsonNode json) { if (json.isTextual()) { return json.textValue(); } else if (json.isNumber()) { return json.numberValue(); } else if (json.isBoolean()) { return json.booleanValue(); } else { return null; } }
private Object unwrapJsonValue(JsonNode node) { if (node.isNull()) { return null; } else if (node.isBoolean()) { return node.booleanValue(); } else if (node.isBinary()) { return ((BinaryNode) node).binaryValue(); } else if (node.isNumber()) { return node.numberValue(); } else { return node.asText(); } } }