如何检查Json元素是否为JsonPrimitive

问题描述 投票:1回答:1

我正在将一些代码从Gson更改为Jackson,我必须检查当前元素的类型是否为原语。

我可以用Gson做这样的事情:

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

在杰克逊,Json节点类型是其中之一

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

java json jackson jackson-databind
1个回答
1
投票

JacksonJsonNode类有isValueNode方法应该做同样的事情:

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

如果节点是:ARRAYOBJECTMISSING它返回false;其他类型 - true

© www.soinside.com 2019 - 2024. All rights reserved.