當前位置: 首頁>>代碼示例>>Java>>正文


Java JsonNode.isValueNode方法代碼示例

本文整理匯總了Java中com.fasterxml.jackson.databind.JsonNode.isValueNode方法的典型用法代碼示例。如果您正苦於以下問題:Java JsonNode.isValueNode方法的具體用法?Java JsonNode.isValueNode怎麽用?Java JsonNode.isValueNode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.fasterxml.jackson.databind.JsonNode的用法示例。


在下文中一共展示了JsonNode.isValueNode方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getString

import com.fasterxml.jackson.databind.JsonNode; //導入方法依賴的package包/類
/**
 *
 * 獲取json傳 K-V 的V值隻適應於獲取葉子節點的V值
 * 注意:如果{"a":"b","c":{"d":"d1","e":{"f","f1"}}}
 * 當 path為c時候,返回:{"d":"d1","e":{"f","f1"}}
 * @param json
 * @param paths
 *
 * @return
 */
public static String getString(@NotNull String json, @Nullable String... paths) {
    JsonNode jsonNode = parseJsonNode(json,  paths);
    if (Check.isNull(jsonNode)) {
        return null;
    }
    if(jsonNode.isValueNode()){
        return jsonNode.textValue();
    }
    return toJsonString(jsonNode);
}
 
開發者ID:AsuraTeam,項目名稱:asura,代碼行數:21,代碼來源:Json.java

示例2: getColumnTypeFromJson

import com.fasterxml.jackson.databind.JsonNode; //導入方法依賴的package包/類
/**
 * JsonNode like
 * "flow_tables":{"type":{"key":{"maxInteger":254,"minInteger":0,"type":
 * "integer"},"min":0,"value":{"type":"uuid","refTable":"Flow_Table"},"max":
 * "unlimited"}}.
 * @param columnTypeJson the ColumnType JsonNode
 * @return ColumnType
 */
public static ColumnType getColumnTypeFromJson(JsonNode columnTypeJson) {
    if (!columnTypeJson.isObject() || !columnTypeJson.has(Type.VALUE.type())) {
        return createAtomicColumnType(columnTypeJson);
    } else if (!columnTypeJson.isValueNode() && columnTypeJson.has(Type.VALUE.type())) {
        return createKeyValuedColumnType(columnTypeJson);
    }
    String message = "Abnormal ColumnType JsonNode, it should be AtomicColumnType or KeyValuedColumnType"
            + ObjectMapperUtil.convertToString(columnTypeJson);
    throw new AbnormalJsonNodeException(message);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:19,代碼來源:ColumnTypeFactory.java

示例3: getBaseTypeFromJson

import com.fasterxml.jackson.databind.JsonNode; //導入方法依賴的package包/類
/**
 * Create a BaseType from the JsonNode.
 * @param baseTypeJson the BaseType JsonNode
 * @param keyorval the key node or value node
 * @return BaseType
 */
public static BaseType getBaseTypeFromJson(JsonNode baseTypeJson, String keyorval) {
    if (baseTypeJson.isValueNode()) {
        String type = baseTypeJson.asText().trim();
        return fromTypeStr(type);
    } else {
        if (!baseTypeJson.has(keyorval)) {
            String message = "Abnormal BaseType JsonNode, it should contain 'key' or 'value' node but was not found"
                    + ObjectMapperUtil.convertToString(baseTypeJson);
            throw new AbnormalJsonNodeException(message);
        }
        return fromJsonNode(baseTypeJson.get(keyorval));
    }
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:20,代碼來源:BaseTypeFactory.java

示例4: isValueType

import com.fasterxml.jackson.databind.JsonNode; //導入方法依賴的package包/類
@Override
public boolean isValueType(Object object) {
    ObjectMapper objectMapper = getObjectMapper();
    JsonNode node = objectMapper.convertValue(object, JsonNode.class);
    return node != null && node.isValueNode();
}
 
開發者ID:dizitart,項目名稱:nitrite-database,代碼行數:7,代碼來源:JacksonMapper.java

示例5: flatten

import com.fasterxml.jackson.databind.JsonNode; //導入方法依賴的package包/類
@SuppressWarnings("unchecked")
private void flatten(JsonNode rootNode, Map<String, Object> map, boolean tooDeep)
{
	for( Entry<String, JsonNode> child : Lists.newArrayList(rootNode.fields()) )
	{
		String key = child.getKey();
		JsonNode value = child.getValue();
		if( value.isValueNode() )
		{
			map.put(key, value.asText());
		}
		else if( value.isArray() )
		{
			for( int i = 0; i < value.size(); i++ )
			{
				JsonNode arrVal = value.get(i);
				// Normal array
				if( !arrVal.fields().hasNext() )
				{
					addToMap(map, key, arrVal);
				}
				else
				{
					addNodesToMap(map, key, arrVal);
				}
			}
		}
		else if( value.isObject() )
		{
			if( tooDeep )
			{
				addNodesToMap(map, key, value);
			}
			else
			{
				map.put(key, Maps.newLinkedHashMap());
				flatten(value, (Map<String, Object>) map.get(key), true);
			}
		}
	}
}
 
開發者ID:equella,項目名稱:Equella,代碼行數:42,代碼來源:ExifTool.java

示例6: annotation

import com.fasterxml.jackson.databind.JsonNode; //導入方法依賴的package包/類
/**
 * Returns annotation of Ports on which LinkDiscovery is suppressed.
 *
 * @return key-value pairs of annotation
 */
public Map<String, String> annotation() {
    ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();

    String jsonAnnotation = get(ANNOTATION, null);
    if (jsonAnnotation == null || jsonAnnotation.isEmpty()) {
        return ImmutableMap.of();
    }

    JsonNode annotationNode;
    try {
        annotationNode = MAPPER.readTree(jsonAnnotation);
    } catch (IOException e) {
        log.error("Failed to read JSON tree from: {}", jsonAnnotation);
        return ImmutableMap.of();
    }

    if (annotationNode.isObject()) {
        ObjectNode obj = (ObjectNode) annotationNode;
        Iterator<Map.Entry<String, JsonNode>> it = obj.fields();
        while (it.hasNext()) {
            Map.Entry<String, JsonNode> entry = it.next();
            final String key = entry.getKey();
            final JsonNode value = entry.getValue();

            if (value.isValueNode()) {
                if (value.isNull()) {
                    builder.put(key, SuppressionRules.ANY_VALUE);
                } else {
                    builder.put(key, value.asText());
                }
            } else {
                log.warn("Encountered unexpected JSON field {} for annotation", entry);
            }
        }
    } else {
        log.error("Encountered unexpected JSONNode {} for annotation", annotationNode);
        return ImmutableMap.of();
    }

    return builder.build();
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:47,代碼來源:SuppressionConfig.java


注:本文中的com.fasterxml.jackson.databind.JsonNode.isValueNode方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。