Как проверить, является ли элемент JsonJsonPrimitive - PullRequest
1 голос
/ 26 марта 2019

Я изменяю некоторый код с Gson на Jackson, где я должен проверить, является ли тип текущего элемента примитивным.

Я мог бы сделать что-то подобное с Gson:

JsonElement element = entry.getValue();
if (element.isJsonPrimitive()) {
    ...
}

в Джексоне, тип узла Json является одним из

JsonNodeType: { ARRAY, BINARY, BOOLEAN, MISSING, NULL, NUMBER, OBJECT, POJO, STRING }

1 Ответ

1 голос
/ 26 марта 2019

Jackson класс JsonNode имеет isValueNode метод должен сделать то же самое:

@Override
public final boolean isValueNode()
{
    switch (getNodeType()) {
        case ARRAY: case OBJECT: case MISSING:
            return false;
        default:
            return true;
    }
}

Если узел: ARRAY, OBJECT или MISSING, возвращается false; для других типов - true

...