当前位置: 首页>>代码示例>>Java>>正文


Java JsonNode.isNull方法代码示例

本文整理汇总了Java中com.fasterxml.jackson.databind.JsonNode.isNull方法的典型用法代码示例。如果您正苦于以下问题:Java JsonNode.isNull方法的具体用法?Java JsonNode.isNull怎么用?Java JsonNode.isNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.fasterxml.jackson.databind.JsonNode的用法示例。


在下文中一共展示了JsonNode.isNull方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getMemberValue

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Get the value of the member as specified in the test description. Only supports simple types
 * at the moment.
 *
 * @param currentNode JsonNode containing value of member.
 */
private Object getMemberValue(JsonNode currentNode, MemberModel memberModel) {
    // Streaming members are not in the POJO
    if (currentNode.isNull()) {
        return null;
    }
    if (memberModel.isSimple()) {
        return getSimpleMemberValue(currentNode, memberModel);
    } else if (memberModel.isList()) {
        return getListMemberValue(currentNode, memberModel);
    } else if (memberModel.isMap()) {
        return getMapMemberValue(currentNode, memberModel);
    } else {
        ShapeModel structureShape = model.getShapes()
                                         .get(memberModel.getVariable().getVariableType());
        try {
            return createStructure(structureShape, currentNode);
        } catch (Exception e) {
            throw new TestCaseReflectionException(e);
        }
    }
}
 
开发者ID:aws,项目名称:aws-sdk-java-v2,代码行数:28,代码来源:ShapeModelReflector.java

示例2: getAsBoolean

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Geef node waarde als Boolean.
 * @param parentNode parent node
 * @param nodeName naam van de node
 * @param checkValue waarde waarmee gecontroleerd wordt (mag niet null zijn)
 * @param checkBoolean resultaat als de waarde van de node gelijk is aan 'checkValue' (mag null zijn)
 * @param elseBoolean resultaat als de waarde van de node niet gelijk is aan 'checkValue' (mag null zijn)
 * @return checkBoolean of elseBoolean (kan dus null zijn), naar gelang de waarde van de node en checkValue
 */
static Boolean getAsBoolean(
        final JsonNode parentNode,
        final String nodeName,
        final String checkValue,
        final Boolean checkBoolean,
        final Boolean elseBoolean) {
    final Boolean result;
    final JsonNode theNode = parentNode.get(nodeName);
    if (theNode != null && !theNode.isNull() && checkValue.equals(theNode.asText())) {
        result = checkBoolean;
    } else {
        result = elseBoolean;
    }
    return result;
}
 
开发者ID:MinBZK,项目名称:OperatieBRP,代码行数:25,代码来源:JsonUtils.java

示例3: getElement

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Return the field with name in JSON as a string, a boolean, a number or a node.
 *
 * @param json json
 * @param name node name
 * @return the field
 */
public static Object getElement(final JsonNode json, final String name) {
    if (json != null && name != null) {
        JsonNode node = json;
        for (String nodeName : name.split("\\.")) {
            if (node != null) {
                node = node.get(nodeName);
            }
        }
        if (node != null) {
            if (node.isNumber()) {
                return node.numberValue();
            } else if (node.isBoolean()) {
                return node.booleanValue();
            } else if (node.isTextual()) {
                return node.textValue();
            } else if (node.isNull()) {
                return null;
            } else {
                return node;
            }
        }
    }
    return null;
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:32,代码来源:JsonHelper.java

示例4: parse

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
public static <T> Optional<T> parse(String fieldName, JsonNode node, Class<T> type) {
    JsonNode field = node.get(fieldName);
    T value = null;
    if (field != null && !field.isNull()) {
        if (type.equals(Long.class) && field.canConvertToLong()) {
            value = type.cast(field.asLong());
        }
        if (type.equals(Integer.class) && field.canConvertToInt()) {
            value = type.cast(field.asInt());
        }
        if (field.isTextual()) {
            value = type.cast(field.asText());
        }
        if (field.isDouble() || type.equals(Double.class)) {
            value = type.cast(field.asDouble());
        }
        if (field.isBoolean()) {
            value = type.cast(field.asBoolean());
        }
    }
    return Optional.ofNullable(value);
}
 
开发者ID:CSCfi,项目名称:exam,代码行数:23,代码来源:SanitizingHelper.java

示例5: deserializeResult

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private static <T> T deserializeResult(
        JsonNode result, Command<T> command) throws JsonProcessingException {

    requireNonNull(command, "command");

    // Convert null node to the real null.
    if (result != null && result.isNull()) {
        result = null;
    }

    final Class<T> resultType = Util.unsafeCast(command.type().resultType());
    if (resultType == Void.class) {
        if (result != null) {
            rejectIncompatibleResult(result, Void.class);
        }

        return null;
    }

    return Jackson.treeToValue(result, resultType);
}
 
开发者ID:line,项目名称:centraldogma,代码行数:22,代码来源:ReplicationLog.java

示例6: isValid

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Indicates whether a field in the node is present and of correct value or
 * not mandatory and absent.
 *
 * @param objectNode JSON object node containing field to validate
 * @param field name of field to validate
 * @param presence specified if field is optional or mandatory
 * @param validationFunction function which can be used to verify if the
 *                           node has the correct value
 * @return true if the field is as expected
 * @throws InvalidFieldException if the field is present but not valid
 */
private boolean isValid(ObjectNode objectNode, String field, FieldPresence presence,
                        Function<JsonNode, Boolean> validationFunction) {
    JsonNode node = objectNode.path(field);
    boolean isMandatory = presence == FieldPresence.MANDATORY;
    if (isMandatory && node.isMissingNode()) {
        throw new InvalidFieldException(field, "Mandatory field not present");
    }

    if (!isMandatory && (node.isNull() || node.isMissingNode())) {
        return true;
    }

    try {
        if (validationFunction.apply(node)) {
            return true;
        } else {
            throw new InvalidFieldException(field, "Validation error");
        }
    } catch (IllegalArgumentException e) {
        throw new InvalidFieldException(field, e);
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:35,代码来源:Config.java

示例7: getDateFromSeconds

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
Date getDateFromSeconds(Map<String, JsonNode> tree, String claimName) {
    JsonNode node = tree.get(claimName);
    if (node == null || node.isNull() || !node.canConvertToLong()) {
        return null;
    }
    final long ms = node.asLong() * 1000;
    return new Date(ms);
}
 
开发者ID:GJWT,项目名称:javaOIDCMsg,代码行数:9,代码来源:PayloadDeserializer.java

示例8: updateDatasetCaseSensitivity

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
public static void updateDatasetCaseSensitivity(JsonNode root)
    throws Exception {
  final JsonNode properties = root.path("datasetProperties");
  if (properties.isMissingNode() || properties.isNull()) {
    throw new IllegalArgumentException(
        "Dataset properties update fail, missing necessary fields: " + root.toString());
  }
  final JsonNode caseSensitivity = properties.path("caseSensitivity");
  if (caseSensitivity.isMissingNode() || caseSensitivity.isNull()) {
    throw new IllegalArgumentException(
        "Dataset properties update fail, missing necessary fields: " + root.toString());
  }

  final Object[] idUrn = findDataset(root);
  if (idUrn[0] == null || idUrn[1] == null) {
    throw new IllegalArgumentException("Cannot identify dataset from id/uri/urn: " + root.toString());
  }
  final Integer datasetId = (Integer) idUrn[0];
  final String urn = (String) idUrn[1];

  ObjectMapper om = new ObjectMapper();

  DatasetCaseSensitiveRecord record = om.convertValue(caseSensitivity, DatasetCaseSensitiveRecord.class);
  record.setDatasetId(datasetId);
  record.setDatasetUrn(urn);
  record.setModifiedTime(System.currentTimeMillis() / 1000);
  try {
    DatasetCaseSensitiveRecord result = getDatasetCaseSensitivityByDatasetId(datasetId);
    String[] columns = record.getDbColumnNames();
    Object[] columnValues = record.getAllValuesToString();
    String[] conditions = {"dataset_id"};
    Object[] conditionValues = new Object[]{datasetId};
    CASE_SENSITIVE_WRITER.update(columns, columnValues, conditions, conditionValues);
  } catch (EmptyResultDataAccessException ex) {
    CASE_SENSITIVE_WRITER.append(record);
    CASE_SENSITIVE_WRITER.insert();
  }
}
 
开发者ID:thomas-young-2013,项目名称:wherehowsX,代码行数:39,代码来源:DatasetInfoDao.java

示例9: updateDatasetSecurity

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
public static void updateDatasetSecurity(JsonNode root)
    throws Exception {
  final JsonNode security = root.path("securitySpecification");
  if (security.isMissingNode() || security.isNull()) {
    throw new IllegalArgumentException(
        "Dataset security info update fail, missing necessary fields: " + root.toString());
  }

  final Object[] idUrn = findDataset(root);
  if (idUrn[0] == null || idUrn[1] == null) {
    throw new IllegalArgumentException("Cannot identify dataset from id/uri/urn: " + root.toString());
  }
  final Integer datasetId = (Integer) idUrn[0];
  final String urn = (String) idUrn[1];

  ObjectMapper om = new ObjectMapper();

  DatasetSecurityRecord record = om.convertValue(security, DatasetSecurityRecord.class);
  record.setDatasetId(datasetId);
  record.setDatasetUrn(urn);
  record.setModifiedTime(System.currentTimeMillis() / 1000);
  try {
    DatasetSecurityRecord result = getDatasetSecurityByDatasetId(datasetId);
    String[] columns = record.getDbColumnNames();
    Object[] columnValues = record.getAllValuesToString();
    String[] conditions = {"dataset_id"};
    Object[] conditionValues = new Object[]{datasetId};
    SECURITY_WRITER.update(columns, columnValues, conditions, conditionValues);
  } catch (EmptyResultDataAccessException ex) {
    SECURITY_WRITER.append(record);
    SECURITY_WRITER.insert();
  }
}
 
开发者ID:thomas-young-2013,项目名称:wherehowsX,代码行数:34,代码来源:DatasetInfoDao.java

示例10: parseDefaultValue

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private Object parseDefaultValue(Schema schema, Map<String, JsonNode> fieldAnnotations) {
    JsonNode def = fieldAnnotations.get("Default");
    if (def == null || def.isNull()) {
        return null;
    }
    return new JsonReader().getNodeData(schema, def);
}
 
开发者ID:atlascon,项目名称:travny,代码行数:8,代码来源:RecordSchemaParser.java

示例11: identifyPrimitiveMatch

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private static UnionResolution identifyPrimitiveMatch(JsonNode datum, Set<Schema.Type> primitives) {
  // Try to identify specific primitive types
  Schema primitiveSchema = null;
  if (datum == null || datum.isNull()) {
    primitiveSchema = closestPrimitive(primitives, Schema.Type.NULL);
  } else if (datum.isShort() || datum.isInt()) {
    primitiveSchema = closestPrimitive(primitives, Schema.Type.INT, Schema.Type.LONG, Schema.Type.FLOAT,
        Schema.Type.DOUBLE);
  } else if (datum.isLong()) {
    primitiveSchema = closestPrimitive(primitives, Schema.Type.LONG, Schema.Type.DOUBLE);
  } else if (datum.isFloat()) {
    primitiveSchema = closestPrimitive(primitives, Schema.Type.FLOAT, Schema.Type.DOUBLE);
  } else if (datum.isDouble()) {
    primitiveSchema = closestPrimitive(primitives, Schema.Type.DOUBLE);
  } else if (datum.isBoolean()) {
    primitiveSchema = closestPrimitive(primitives, Schema.Type.BOOLEAN);
  }
  if (primitiveSchema == null
      && ((datum.isDouble() && datum.doubleValue() >= -Float.MAX_VALUE && datum.doubleValue() <= Float.MAX_VALUE)
          || (datum.isLong()
              && datum.longValue() >= (long) -Float.MAX_VALUE
              && datum.longValue() <= (long) Float.MAX_VALUE))) {
    primitiveSchema = closestPrimitive(primitives, Schema.Type.FLOAT, Schema.Type.DOUBLE);
  }

  if (primitiveSchema != null) {
    return new UnionResolution(primitiveSchema, MatchType.FULL);
  }
  return null;
}
 
开发者ID:HotelsDotCom,项目名称:jasvorno,代码行数:31,代码来源:JasvornoConverter.java

示例12: getSubQuery

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private String getSubQuery(JsonNode fieldsJson, String parentType) {

        Set<String> subQueryStrings = new HashSet<>();

        if (schema.getTypes().containsKey(parentType)) {
            subQueryStrings.add("_id");
            subQueryStrings.add("_type");
        }

        if (fieldsJson==null || fieldsJson.isNull()) {
            if (subQueryStrings.isEmpty()) {
                return "";
            } else {
                querySTR(String.join(" ", subQueryStrings));
            }
        }

        else {


            Iterator<JsonNode> fields = ((ArrayNode) fieldsJson).elements();

            fields.forEachRemaining(field -> {
                ArrayNode fieldsArray = (field.get("fields").isNull()) ? null : (ArrayNode) field.get("fields");
                String arg = (field.get("args").isNull()) ? "" : langSTR((ObjectNode) field.get("args"));
                String fieldString = field.get("name").asText() + arg + " " + getSubQuery(fieldsArray, field.get("targetName").asText());
                subQueryStrings.add(fieldString);
            });
        }

        if (!subQueryStrings.isEmpty()) {
            return querySTR(String.join(" ", subQueryStrings));
        } else {
            return "";
        }
    }
 
开发者ID:semantic-integration,项目名称:hypergraphql,代码行数:37,代码来源:HGraphQLConverter.java

示例13: pathAll

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * PathAll matcher that checks if each element of the final
 * result matches the expected result
 *
 * @param expectedResult Expected result given by the waiter definition
 * @param finalResult    Final result of the resource got by the execution
 *                       of the JmesPath expression given by the waiter
 *                       definition
 * @return True if all elements of the final result matches
 * the expected result, False otherwise
 */
public static boolean pathAll(JsonNode expectedResult, JsonNode finalResult) {
    if (finalResult.isNull()) {
        return false;
    }
    if (!finalResult.isArray()) {
        throw new RuntimeException("Expected an array");
    }
    for (JsonNode element : finalResult) {
        if (!element.equals(expectedResult)) {
            return false;
        }
    }
    return true;
}
 
开发者ID:IBM,项目名称:ibm-cos-sdk-java,代码行数:26,代码来源:AcceptorPathMatcher.java

示例14: getBootStrapHostFromML

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
public static String getBootStrapHostFromML() {
	InputStream jstream=null;
	try{
	DefaultHttpClient client = new DefaultHttpClient();
	client.getCredentialsProvider().setCredentials(
			new AuthScope(host, 8002),
			new UsernamePasswordCredentials("admin", "admin"));
	HttpGet getrequest = new HttpGet("http://"+host+":8002/manage/v2/properties?format=json");
	HttpResponse resp = client.execute(getrequest);
	jstream =resp.getEntity().getContent();
	JsonNode jnode= new ObjectMapper().readTree(jstream);
	String propName ="bootstrap-host";
	if(!jnode.isNull()){

		if(jnode.has(propName)){
		System.out.println("Bootstrap Host: " + jnode.withArray(propName).get(0).get("bootstrap-host-name").asText());
		return jnode.withArray(propName).get(0).get("bootstrap-host-name").asText();
		}
		else{
			System.out.println("Missing "+propName+" field from properties end point so sending java conanical host name\n"+jnode.toString());
			return InetAddress.getLocalHost().getCanonicalHostName().toLowerCase();
			}
		}
	else{
		 System.out.println("Rest endpoint returns empty stream");
		 return InetAddress.getLocalHost().getCanonicalHostName().toLowerCase();
		}

	}catch (Exception e) {
		// writing error to Log
		e.printStackTrace();
		
		return host;
	}
	finally{
		jstream =null;
	}
}
 
开发者ID:marklogic,项目名称:marklogic-rdf4j,代码行数:39,代码来源:ConnectedRESTQA.java

示例15: deserialize

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@JsonCreator
static DefaultChange<?> deserialize(@JsonProperty("type") ChangeType type,
                                    @JsonProperty("path") String path,
                                    @JsonProperty("content") JsonNode content) {
    requireNonNull(type, "type");
    final Class<?> contentType = type.contentType();
    if (contentType == Void.class) {
        if (content != null && !content.isNull()) {
            return rejectIncompatibleContent(content, Void.class);
        }
    } else if (type.contentType() == String.class) {
        if (content == null || !content.isTextual()) {
            return rejectIncompatibleContent(content, String.class);
        }
    }

    final Change<?> result;

    switch (type) {
        case UPSERT_JSON:
            result = Change.ofJsonUpsert(path, content);
            break;
        case UPSERT_TEXT:
            result = Change.ofTextUpsert(path, content.asText());
            break;
        case REMOVE:
            result = Change.ofRemoval(path);
            break;
        case RENAME:
            result = Change.ofRename(path, content.asText());
            break;
        case APPLY_JSON_PATCH:
            result = Change.ofJsonPatch(path, content);
            break;
        case APPLY_TEXT_PATCH:
            result = Change.ofTextPatch(path, content.asText());
            break;
        default:
            // Should never reach here
            throw new Error();
    }

    // Ugly downcast, but otherwise we would have needed to write a custom serializer.
    return (DefaultChange<?>) result;
}
 
开发者ID:line,项目名称:centraldogma,代码行数:46,代码来源:DefaultChange.java


注:本文中的com.fasterxml.jackson.databind.JsonNode.isNull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。