java - 如何检查 Json 元素是否为 JsonPrimitive

标签 java json jackson jackson-databind

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

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

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

在 Jackson 中,Json 节点类型是其中之一

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

最佳答案

JacksonJsonNode 类具有 isValueNode 方法,应该执行相同的操作:

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

如果节点是:ARRAYOBJECTMISSING,则返回false;对于其他类型 - true

关于java - 如何检查 Json 元素是否为 JsonPrimitive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55359134/

相关文章:

java - 错误CEE9001从Java调用外部存储过程(RPGLE/AS400)

java - 如何将RestTemplate映射为多个响应内容?

python - 从 CSV 创建特定格式的 JSON 文件

c++ - 如何使用C++和Boost库生成JSON

java - JSON - 如何对请求响应进行常见操作

generics - 使用 Jackson 序列化 Map<Date, String>

java - Java 的 ArrayList.forEach 在 while 循环内无法正常工作

java - helper 处理循环

java - 生成的 zip 进程似乎没有将文件添加到存档

javascript - 将对象/变量移离异步函数