Java 类com.fasterxml.jackson.databind.node.ValueNode 实例源码

项目:scanning    文件:SubsetStatus.java   
/**
 * Returns true if expected is a subset of returned
 *
 * This is used for JSON serialiser comparisons. This is taken from
 * the 'equals' definition of JsonNode's, but without the length check
 * on the list of children nodes, plus location reporting.
 *
 * @param expected
 * @param returned
 * @return
 */
protected boolean isJsonNodeSubset(JsonNode expected, JsonNode returned) {

    if (returned == null) {
    errorDescription = "Returned value is null, expected JSON:\n" + expected.toString();
    return false;
    }
    if (returned == expected) return true;

    if (returned.getClass() != expected.getClass()) {
    errorDescription = "Returned value class is incorrect, expected JSON: " + expected.toString()
    + ", returned JSON: " + returned.toString();
    return false;
    }

    switch (expected.getNodeType()) {
    case ARRAY:     return isArrayNodeSubset((ArrayNode)expected, (ArrayNode)returned);
    case OBJECT:    return isObjectNodeSubset((ObjectNode)expected, (ObjectNode)returned);
    default:        return isValueEqual((ValueNode)expected, (ValueNode)returned);  // Will be a ValueNode subclass
    }
}
项目:konker-platform    文件:EventCsvDownload.java   
public void jsonToMap(String currentPath, JsonNode jsonNode, Map<String, String> map) {
    if (jsonNode.isObject()) {
        ObjectNode objectNode = (ObjectNode) jsonNode;
        Iterator<Entry<String, JsonNode>> iter = objectNode.fields();
        String pathPrefix = currentPath.isEmpty() ? "" : currentPath + ".";

        while (iter.hasNext()) {
            Entry<String, JsonNode> entry = iter.next();
            jsonToMap(pathPrefix + entry.getKey(), entry.getValue(), map);
        }
    } else if (jsonNode.isArray()) {
        ArrayNode arrayNode = (ArrayNode) jsonNode;
        for (int i = 0; i < arrayNode.size(); i++) {
            jsonToMap(currentPath + "." + i, arrayNode.get(i), map);
        }
    } else if (jsonNode.isValueNode()) {
        ValueNode valueNode = (ValueNode) jsonNode;
        map.put(currentPath, valueNode.asText());
    }
}
项目:securionpay-java    文件:ObjectSerializer.java   
private void buildQueryString(URIBuilder url, String path, ObjectNode node) {
    Iterator<Entry<String, JsonNode>> iterator = node.fields();
    while (iterator.hasNext()) {
        Entry<String, JsonNode> field = iterator.next();
        String fieldName = field.getKey();
        JsonNode childNode = field.getValue();

        if (childNode instanceof ObjectNode) {
            buildQueryString(url, getPath(path, fieldName), (ObjectNode) childNode);

        } else if (childNode instanceof ValueNode) {
            ValueNode valueNode = (ValueNode) childNode;

            if (!valueNode.isNull()) {
                url.addParameter(getPath(path, fieldName), valueNode.asText());
            }
        }
    }
}
项目:cloud-config    文件:JsonFlattenConverter.java   
private void addKeys(String currentPath, JsonNode jsonNode, Map<Object, Object> props) {
    if (jsonNode.isObject()) {
        ObjectNode objectNode = (ObjectNode) jsonNode;
        Iterator<Map.Entry<String, JsonNode>> iter = objectNode.fields();
        String pathPrefix = currentPath.isEmpty() ? "" : currentPath + ".";

        while (iter.hasNext()) {
            Map.Entry<String, JsonNode> entry = iter.next();
            addKeys(pathPrefix + entry.getKey(), entry.getValue(), props);
        }
    } else if (jsonNode.isArray()) {
        ArrayNode arrayNode = (ArrayNode) jsonNode;
        for (int i = 0; i < arrayNode.size(); i++) {
            addKeys(currentPath + "[" + i + "]", arrayNode.get(i), props);
        }
    } else if (jsonNode.isValueNode()) {
        ValueNode valueNode = (ValueNode) jsonNode;
        if(isAllowOverride || !props.containsKey(currentPath))
            props.put(currentPath, valueNode.asText());
    }
}
项目:spacedog-server    文件:Json8.java   
@Deprecated
public static ValueNode toValueNode(Object value) {

    if (value == null)
        return NullNode.instance;
    if (value instanceof ValueNode)
        return (ValueNode) value;
    if (value instanceof Boolean)
        return BooleanNode.valueOf((boolean) value);
    else if (value instanceof Integer)
        return IntNode.valueOf((int) value);
    else if (value instanceof Long)
        return LongNode.valueOf((long) value);
    else if (value instanceof Double)
        return DoubleNode.valueOf((double) value);
    else if (value instanceof Float)
        return FloatNode.valueOf((float) value);

    return TextNode.valueOf(value.toString());
}
项目:spacedog-server    文件:Json7.java   
public static ValueNode toValueNode(Object value) {

        if (value == null)
            return NullNode.instance;
        if (value instanceof ValueNode)
            return (ValueNode) value;
        if (value instanceof Boolean)
            return BooleanNode.valueOf((boolean) value);
        else if (value instanceof Integer)
            return IntNode.valueOf((int) value);
        else if (value instanceof Long)
            return LongNode.valueOf((long) value);
        else if (value instanceof Double)
            return DoubleNode.valueOf((double) value);
        else if (value instanceof Float)
            return FloatNode.valueOf((float) value);

        return TextNode.valueOf(value.toString());
    }
项目:simple-json-rpc    文件:AbstractBuilder.java   
/**
 * Creates a new JSON-RPC request as a JSON object
 *
 * @param id     request id
 * @param method request method
 * @param params request params
 * @return a new request as a JSON object
 */
@NotNull
protected ObjectNode request(@NotNull ValueNode id, @NotNull String method,
                             @NotNull JsonNode params) {
    if (method.isEmpty()) {
        throw new IllegalArgumentException("Method is not set");
    }
    ObjectNode requestNode = mapper.createObjectNode();
    requestNode.put(JSONRPC, VERSION_2_0);
    requestNode.put(METHOD, method);
    requestNode.set(PARAMS, params);
    if (!id.isNull()) {
        requestNode.set(ID, id);
    }
    return requestNode;
}
项目:monasca-common    文件:Configurations.java   
private static void buildConfigFor(String path, Map<String, String> config, JsonNode node) {
  for (Iterator<Map.Entry<String, JsonNode>> i = node.fields(); i.hasNext();) {
    Map.Entry<String, JsonNode> field = i.next();
    if (field.getValue() instanceof ValueNode) {
      ValueNode valueNode = (ValueNode) field.getValue();
      config.put(DOT_JOINER.join(path, field.getKey()), valueNode.asText());
    } else if (field.getValue() instanceof ArrayNode) {
      StringBuilder combinedValue = new StringBuilder();
      ArrayNode arrayNode = (ArrayNode) field.getValue();
      for (Iterator<JsonNode> it = arrayNode.elements(); it.hasNext();) {
        String value = it.next().asText().replaceAll("^\"|\"$", "");
        if (combinedValue.length() > 0)
          combinedValue.append(',');
        combinedValue.append(value);
      }

      config.put(DOT_JOINER.join(path, field.getKey()), combinedValue.toString());
    }

    buildConfigFor(DOT_JOINER.join(path, field.getKey()), config, field.getValue());
  }
}
项目:lightblue-core    文件:WithIfCurrent.java   
public static void fromJson(WithIfCurrent dest,ObjectNode node) {
    JsonNode x=node.get("onlyIfCurrent");
    if(x instanceof ValueNode && x.booleanValue()) {
        dest.setIfCurrentOnly(true);
        x=node.get("documentVersions");
        if(x instanceof ArrayNode) {
            List<String> versions=new ArrayList<>(x.size());
            for(Iterator<JsonNode> itr=x.elements();itr.hasNext();) {
                JsonNode elem=itr.next();
                if(!(elem instanceof NullNode)) {
                    versions.add(elem.asText());
                }
            }
            dest.setDocumentVersions(versions);
        }
    } else {
        dest.setIfCurrentOnly(false);
    }
}
项目:lightblue-core    文件:JsonUtils.java   
/**
 * Returns a Java object for a json value node based on the node type.
 */
public static Object valueFromJson(ValueNode node) {
    if (node instanceof NullNode) {
        return null;
    } else {
        if(node instanceof TextNode) {
            return node.textValue();
        } else if(node instanceof BooleanNode) {
            return node.booleanValue();
        } else if(node instanceof NumericNode) {
            return node.numberValue();
        } else {
            throw new RuntimeException("Unsupported node type:"+node.getClass().getName());
        }
    }
}
项目:scanning    文件:SubsetStatus.java   
protected boolean isValueEqual(ValueNode expected, ValueNode returned) {
    boolean result = returned.equals(expected);
    if (!result) {
        errorDescription = "Expected value: '" + expected.toString() + "', returned value: '" + returned.toString() + "' are not equal";
    }
    return result;
}
项目:jiff    文件:JsonCompare.java   
@Override
protected boolean equals(ValueNode value1,ValueNode value2) {
    if(value1.isNumber()&&value2.isNumber()) {
        return value1.asText().equals(value2.asText());
    } else {
        return value1.equals(value2);
    }
}
项目:heroic    文件:DurationSerialization.java   
private Duration deserializeObject(TreeNode tree, DeserializationContext c)
    throws JsonMappingException {
    if (tree == null) {
        throw c.mappingException("expected object");
    }

    TreeNode node;
    ValueNode valueNode;

    final long duration;
    final TimeUnit unit;

    if ((node = tree.get("duration")) != null && node.isValueNode() &&
        (valueNode = (ValueNode) node).isNumber()) {
        duration = valueNode.asLong();
    } else {
        throw c.mappingException("duration is not a numeric field");
    }

    if ((node = tree.get("unit")) != null && node.isValueNode() &&
        (valueNode = (ValueNode) node).isTextual()) {
        unit = TimeUnit.valueOf(valueNode.asText().toUpperCase());
    } else {
        unit = Duration.DEFAULT_UNIT;
    }

    return new Duration(duration, unit);
}
项目:json-data-generator    文件:JsonUtils.java   
public void flattenJsonIntoMap(String currentPath, JsonNode jsonNode, Map<String, Object> map) {
    if (jsonNode.isObject()) {
        ObjectNode objectNode = (ObjectNode) jsonNode;
        Iterator<Map.Entry<String, JsonNode>> iter = objectNode.fields();
        String pathPrefix = currentPath.isEmpty() ? "" : currentPath + ".";

        while (iter.hasNext()) {
            Map.Entry<String, JsonNode> entry = iter.next();
            flattenJsonIntoMap(pathPrefix + entry.getKey(), entry.getValue(), map);
        }
    } else if (jsonNode.isArray()) {
        ArrayNode arrayNode = (ArrayNode) jsonNode;
        for (int i = 0; i < arrayNode.size(); i++) {
            flattenJsonIntoMap(currentPath + "[" + i + "]", arrayNode.get(i), map);
        }
    } else if (jsonNode.isValueNode()) {
        ValueNode valueNode = (ValueNode) jsonNode;
        Object value = null;
        if (valueNode.isNumber()) {
           value = valueNode.numberValue();
        } else if (valueNode.isBoolean()) {
            value = valueNode.asBoolean();
        } else if (valueNode.isTextual()){
            value = valueNode.asText();
        }
        map.put(currentPath, value);
    }
}
项目:succinct    文件:JsonBlockSerializer.java   
private void flattenJsonTree(String currentPath, JsonNode jsonNode, ByteArrayOutputStream out)
  throws SerializationException {
  if (jsonNode.isObject()) {
    ObjectNode objectNode = (ObjectNode) jsonNode;
    Iterator<Map.Entry<String, JsonNode>> iter = objectNode.fields();
    String pathPrefix = currentPath.isEmpty() ? "" : currentPath + ".";
    while (iter.hasNext()) {
      Map.Entry<String, JsonNode> entry = iter.next();
      flattenJsonTree(pathPrefix + entry.getKey(), entry.getValue(), out);
    }
  } else if (jsonNode.isArray()) {
    throw new SerializationException("Arrays in JSON are not supported yet.");
  } else if (jsonNode.isValueNode()) {
    ValueNode valueNode = (ValueNode) jsonNode;
    if (!fieldMapping.containsField(currentPath)) {
      fieldMapping.put(currentPath, delimiters[currentDelimiterIdx++], getNodeType(jsonNode));
    } else {
      DataType existingType = fieldMapping.getDataType(currentPath);
      DataType newType = getNodeType(valueNode);
      if (existingType != newType) {
        DataType encapsulatingType = DataType.encapsulatingType(existingType, newType);
        fieldMapping.updateType(currentPath, encapsulatingType);
      }
    }
    try {
      byte fieldByte = fieldMapping.getDelimiter(currentPath);
      out.write(fieldByte);
      out.write(valueNode.asText().getBytes());
      out.write(fieldByte);
    } catch (IOException e) {
      throw new SerializationException(e.getMessage());
    }
  }
}
项目:intercom-java    文件:CustomAttributeDeserializer.java   
@Override
public CustomAttribute deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    CustomAttribute cda = null;
    final String currentName = jp.getParsingContext().getCurrentName();
    final ObjectMapper mapper = (ObjectMapper) jp.getCodec();
    final ValueNode vNode = mapper.readTree(jp);
    if (vNode.asToken().isScalarValue()) {
        if (vNode.getNodeType() == JsonNodeType.BOOLEAN) {
            cda = new CustomAttribute<Boolean>(currentName, vNode.asBoolean(), Boolean.class);
        } else if (vNode.getNodeType() == JsonNodeType.STRING) {
            cda = new CustomAttribute<String>(currentName, vNode.asText(), String.class);
        } else if (vNode.getNodeType() == JsonNodeType.NUMBER) {
            final NumericNode nNode = (NumericNode) vNode;
            if (currentName.endsWith("_at")) {
                cda = new CustomAttribute<Long>(currentName, vNode.longValue(), Long.class);
            } else if (nNode.isInt()) {
                cda = new CustomAttribute<Integer>(currentName, vNode.intValue(), Integer.class);
            } else if (nNode.isFloat()) {
                cda = new CustomAttribute<Float>(currentName, vNode.floatValue(), Float.class);
            } else if (nNode.isDouble()) {
                cda = new CustomAttribute<Double>(currentName, vNode.doubleValue(), Double.class);
            } else if (nNode.isLong()) {
                cda = new CustomAttribute<Long>(currentName, vNode.longValue(), Long.class);
            } else {
                cda = new CustomAttribute<String>(currentName, vNode.asText(), String.class);
            }
        } else {
            cda = new CustomAttribute<String>(currentName, vNode.asText(), String.class);
        }
    }
    return cda;
}
项目:lightblue-mongo    文件:DocTranslator.java   
private void fillDocVer(JsonNode node,ResultMetadata rmd) {
    if(node instanceof ValueNode) {
        String docver=node.asText();
        if(rmd.getDocumentVersion()!=null)
            rmd.setDocumentVersion(docver);
    }        
}
项目:hamcrest-jackson    文件:IsJsonIntTest.java   
@Test
public void testMatches() {
    // Given
    ValueNode valueNode = jsonNodeFactory.numberNode(Integer.valueOf(10));
    IsJsonInt matcher = new IsJsonInt(10);

    // When
    boolean matches = matcher.matches(valueNode);

    // Then
    assertTrue(matches);
}
项目:hamcrest-jackson    文件:IsJsonIntTest.java   
@Test
public void testMatches_false() {
    // Given
    ValueNode valueNode = jsonNodeFactory.numberNode(Integer.valueOf(20));
    IsJsonInt matcher = new IsJsonInt(10);

    // When
    boolean matches = matcher.matches(valueNode);

    // Then
    assertFalse(matches);
}
项目:simple-json-rpc    文件:Request.java   
public Request(@JsonProperty("jsonrpc") @Nullable String jsonrpc,
               @JsonProperty("method") @Nullable String method,
               @JsonProperty("params") @NotNull JsonNode params,
               @JsonProperty("id") @NotNull ValueNode id) {
    this.jsonrpc = jsonrpc;
    this.method = method;
    this.id = id;
    this.params = params;
}
项目:lightblue-migrator    文件:JsonCompare.java   
@Override
protected boolean equals(ValueNode value1, ValueNode value2) {
    if (value1.isNumber() && value2.isNumber()) {
        return value1.asText().equals(value2.asText());
    } else {
        return value1.equals(value2);
    }
}
项目:lightblue-core    文件:JsonCompare.java   
@Override
protected boolean equals(ValueNode value1, ValueNode value2) {
    if (value1.isNumber() && value2.isNumber()) {
        return value1.asText().equals(value2.asText());
    } else {
        return value1.equals(value2);
    }
}
项目:lightblue-core    文件:JsonUtils.java   
/**
 * Returns a Json value node for the given value. Dates are converted to strings
 */
public static ValueNode valueToJson(Object value) {
    if(value==null) {
        return JsonNodeFactory.instance.nullNode();
    } else if(value instanceof String) {
        return JsonNodeFactory.instance.textNode((String)value);
    } else if(value instanceof Number) {
        if (value instanceof BigDecimal) {
            return JsonNodeFactory.instance.numberNode((BigDecimal) value);
        } else if (value instanceof BigInteger) {
            return JsonNodeFactory.instance.numberNode((BigInteger) value);
        } else if (value instanceof Double) {
            return JsonNodeFactory.instance.numberNode((Double) value);
        } else if (value instanceof Float) {
            return JsonNodeFactory.instance.numberNode((Float) value);
        } else if (value instanceof Long) {
            return JsonNodeFactory.instance.numberNode((Long) value);
        } else {
            return JsonNodeFactory.instance.numberNode( ((Number)value).intValue());
        }
    } else if(value instanceof Boolean) {
        return JsonNodeFactory.instance.booleanNode( ((Boolean)value).booleanValue());
    } else if(value instanceof Date) {
        return JsonNodeFactory.instance.textNode(Constants.getDateFormat().format((Date)value));
    } else {
        return JsonNodeFactory.instance.textNode(value.toString());
    }            
}
项目:lightblue-core    文件:JsonUtils.java   
/**
 * Converts a json document to an object tree of maps/lists/values
 *
 * If json is a value, then the corresponding Java object is returned.
 *
 * If json is an array, a List is returned. Elements of the list are converted recursively
 *
 * If json is an object, a Map is returned.
 */
public static Object fromJson(JsonNode json) {
    if(json==null||json instanceof NullNode) {
        return null;
    } else if(json instanceof ObjectNode) {
        return fromJson((ObjectNode)json);
    } else if(json instanceof ArrayNode) {
        return fromJson((ArrayNode)json);
    } else {
        return valueFromJson( (ValueNode)json);
    }
}
项目:konker-platform    文件:JsonParsingServiceImpl.java   
private void addKeys(String currentPath, JsonNode jsonNode, Map<String, JsonPathData> map, List<JsonNodeType> knownTypes) {
    if (jsonNode.isObject()) {
        ObjectNode objectNode = (ObjectNode) jsonNode;
        Iterator<Map.Entry<String, JsonNode>> iterator = objectNode.fields();
        String pathPrefix = currentPath.isEmpty() ? "" : currentPath + ".";

        if (knownTypes == null)
            knownTypes = new ArrayList<>();

        knownTypes.add(JsonNodeType.OBJECT);

        while (iterator.hasNext()) {
            Map.Entry<String, JsonNode> entry = iterator.next();
            addKeys(pathPrefix + entry.getKey(), entry.getValue(), map, new ArrayList<>(knownTypes));
        }
    } else if (jsonNode.isArray()) {
        ArrayNode arrayNode = (ArrayNode) jsonNode;

        if (currentPath.isEmpty())
            currentPath = "root";

        if (knownTypes == null)
            knownTypes = new ArrayList<>();

        knownTypes.add(JsonNodeType.ARRAY);

        for (int i = 0; i < arrayNode.size(); i++) {
            addKeys(currentPath + "." + i, arrayNode.get(i), map, new ArrayList<>(knownTypes));
        }
    } else if (jsonNode.isValueNode()) {
        ValueNode valueNode = (ValueNode) jsonNode;
        if (knownTypes == null)
            knownTypes = new ArrayList<>();
        knownTypes.add(valueNode.getNodeType());
        JsonPathData.JsonPathDataBuilder data = JsonPathData.builder().types(knownTypes);
        switch (valueNode.getNodeType()) {
            case NUMBER: {
                if (valueNode.asText().contains("."))
                    map.put(currentPath, data.value(valueNode.asDouble()).build());
                else
                    map.put(currentPath, data.value(valueNode.asLong()).build());
                break;
            }
            case BOOLEAN: {
                map.put(currentPath, data.value(valueNode.asBoolean()).build());
                break;
            }
            default: {
                map.put(currentPath, data.value(valueNode.asText()).build());
                break;
            }
        }
    }
}
项目:jiff    文件:JsonCompare.java   
@Override
protected boolean isValue(JsonNode value) {
    return value instanceof ValueNode;
}
项目:jiff    文件:JsonCompare.java   
@Override
protected ValueNode asValue(JsonNode value) {
    return (ValueNode)value;
}
项目:intercom-java    文件:TopicDeserializer.java   
@Override
public Subscription.Topic deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    final ObjectMapper mapper = (ObjectMapper) jp.getCodec();
    final ValueNode vNode = mapper.readTree(jp);
    return Subscription.Topic.valueOf(vNode.asText());
}
项目:simple-json-rpc    文件:JsonRpcServer.java   
/**
 * Performs single JSON-RPC request and return JSON-RPC response
 *
 * @param request JSON-RPC request as a Java object
 * @param service service object
 * @return JSON-RPC response as a Java object
 * @throws Exception in case of a runtime error (reflections, business logic...)
 */
@NotNull
private Response handleSingle(@NotNull Request request, @NotNull Object service) throws Exception {
    // Check mandatory fields and correct protocol version
    String requestMethod = request.getMethod();
    String jsonrpc = request.getJsonrpc();
    ValueNode id = request.getId();
    if (jsonrpc == null || requestMethod == null) {
        log.error("Not a JSON-RPC request: " + request);
        return new ErrorResponse(id, INVALID_REQUEST);
    }

    if (!jsonrpc.equals(VERSION)) {
        log.error("Not a JSON_RPC 2.0 request: " + request);
        return new ErrorResponse(id, INVALID_REQUEST);
    }

    JsonNode params = request.getParams();
    if (!params.isObject() && !params.isArray() && !params.isNull()) {
        log.error("Params of request: '" + request + "' should be an object, an array or null");
        return new ErrorResponse(id, INVALID_REQUEST);
    }

    ClassMetadata classMetadata = classesMetadata.get(service.getClass());
    if (!classMetadata.isService()) {
        log.warn(service.getClass() + " is not available as a JSON-RPC 2.0 service");
        return new ErrorResponse(id, METHOD_NOT_FOUND);
    }

    MethodMetadata method = classMetadata.getMethods().get(requestMethod);
    if (method == null) {
        log.error("Unable find a method: '" + requestMethod + "' in a " + service.getClass());
        return new ErrorResponse(id, METHOD_NOT_FOUND);
    }

    ContainerNode<?> notNullParams = !params.isNull() ?
            (ContainerNode<?>) params : mapper.createObjectNode();
    Object[] methodParams;
    try {
        methodParams = convertToMethodParams(notNullParams, method);
    } catch (IllegalArgumentException e) {
        log.error("Bad params: " + notNullParams + " of a method '" + method.getName() + "'", e);
        return new ErrorResponse(id, INVALID_PARAMS);
    }

    Object result = method.getMethod().invoke(service, methodParams);
    return new SuccessResponse(id, result);
}
项目:simple-json-rpc    文件:SuccessResponse.java   
public SuccessResponse(@JsonProperty("id") @NotNull ValueNode id,
                       @JsonProperty("result") @Nullable Object result) {
    super(id);
    this.result = result;
}
项目:simple-json-rpc    文件:Response.java   
public Response(@NotNull ValueNode id) {
    this.id = id;
    jsonrpc = VERSION;
}
项目:simple-json-rpc    文件:Response.java   
public Response(@NotNull ValueNode id, @NotNull String jsonrpc) {
    this.id = id;
    this.jsonrpc = jsonrpc;
}
项目:simple-json-rpc    文件:Response.java   
@NotNull
public ValueNode getId() {
    return id;
}
项目:simple-json-rpc    文件:ErrorResponse.java   
@JsonCreator
public ErrorResponse(@JsonProperty("id") @NotNull ValueNode id,
                     @JsonProperty("error") @NotNull ErrorMessage error) {
    super(id);
    this.error = error;
}
项目:simple-json-rpc    文件:Request.java   
@NotNull
public ValueNode getId() {
    return id;
}
项目:lightblue-migrator    文件:JsonCompare.java   
@Override
protected boolean isValue(JsonNode value) {
    return value instanceof ValueNode;
}
项目:lightblue-migrator    文件:JsonCompare.java   
@Override
protected ValueNode asValue(JsonNode value) {
    return (ValueNode) value;
}
项目:lightblue-core    文件:JsonCompare.java   
@Override
protected boolean isValue(JsonNode value) {
    return value instanceof ValueNode;
}
项目:lightblue-core    文件:JsonCompare.java   
@Override
protected ValueNode asValue(JsonNode value) {
    return (ValueNode) value;
}