我正在将一些代码从Gson更改为Jackson,我必须检查当前元素的类型是否为原语。
我可以用Gson做这样的事情:
JsonElement element = entry.getValue();
if (element.isJsonPrimitive()) {
...
}
在杰克逊,Json节点类型是其中之一
JsonNodeType: { ARRAY, BINARY, BOOLEAN, MISSING, NULL, NUMBER, OBJECT, POJO, STRING }
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