如何检查 Json 元素是否为 Json 原始元素
How to check if a Json element isJsonPrimitive
我正在将一些代码从 Gson 更改为 Jackson,我必须在其中检查当前元素的类型是否为原语。
我可以用 Gson 做这样的事情:
JsonElement element = entry.getValue();
if (element.isJsonPrimitive()) {
...
}
在 Jackson 中,Json 节点类型是
之一
JsonNodeType: { ARRAY, BINARY, BOOLEAN, MISSING, NULL, NUMBER, OBJECT, POJO, STRING }
Jackson
的 JsonNode
class 有 isValueNode
方法应该做同样的事情:
@Override
public final boolean isValueNode()
{
switch (getNodeType()) {
case ARRAY: case OBJECT: case MISSING:
return false;
default:
return true;
}
}
如果节点是:ARRAY
、OBJECT
或MISSING
它returnsfalse
;对于其他类型 - true
我正在将一些代码从 Gson 更改为 Jackson,我必须在其中检查当前元素的类型是否为原语。
我可以用 Gson 做这样的事情:
JsonElement element = entry.getValue();
if (element.isJsonPrimitive()) {
...
}
在 Jackson 中,Json 节点类型是
之一JsonNodeType: { ARRAY, BINARY, BOOLEAN, MISSING, NULL, NUMBER, OBJECT, POJO, STRING }
Jackson
的 JsonNode
class 有 isValueNode
方法应该做同样的事情:
@Override
public final boolean isValueNode()
{
switch (getNodeType()) {
case ARRAY: case OBJECT: case MISSING:
return false;
default:
return true;
}
}
如果节点是:ARRAY
、OBJECT
或MISSING
它returnsfalse
;对于其他类型 - true