当前位置: 首页 > 知识库问答 >
问题:

如何检查Json元素是否为JSONPrimitive

蒋烨然
2023-03-14

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

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

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

在Jackson中,Json节点类型是

JsonNodeType:{数组,二进制,布尔,缺失,空,数字,对象,POJO,字符串}

共有1个答案

焦宁
2023-03-14

JacksonJsonNode类有isValueNode方法也应该这样做:

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

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

 类似资料:
  • 问题内容: 我不知道如何确定存在于json数组中的元素是否为null。要检查jsonObject本身是否为null,只需使用: 但是,当对象是一个数组并且我想检查该数组的元素之一是否为null时,则不起作用: 数组的元素上也没有isNull方法。如何检查jsonarray中的值是否为null?知道我正在从javascript传递空对象可能会有所帮助。从javascript以json格式传递null

  • 问题内容: 我试图仅使用jQuery在HTML元素为空的情况下调用函数。 像这样: 问题答案: 编辑: 正如某些人指出的那样,浏览器对空元素的解释可能会有所不同。如果您想忽略不可见的元素(例如空格和换行符)并使实现更加一致,则可以创建一个函数(或仅使用其中的代码)。 您也可以将其放入jQuery插件,但是您知道了。

  • 问题内容: 在Swift中,如何检查数组中是否存在元素?Xcode没有针对,,或的任何建议,并且快速搜索本书不会发现任何结果。知道如何检查吗?我知道有一种方法可以返回索引号,但是有没有一种方法可以返回像ruby一样的布尔值? 我需要的示例: 问题答案: 斯威夫特2、3、4、5: 是(用于元素序列的) 协议扩展方法 ,而不是早期版本中的全局方法。 备注: 该方法要求序列元素采用协议。 如果序列元素是

  • 问题内容: 示例:我正在检查是否存在像这样的数组元素: 但是,我不断收到此错误: 当然,我第一次想要实例时,$ instances不会知道密钥。我想我对可用实例的检查是错误的? 问题答案: 您可以使用语言构造或函数。 应该更快一些 (因为它不是函数) ,但是如果元素存在并且具有value,则将返回false 。 例如,考虑以下数组: 和这三个测试,依赖于: 第一个会得到您( 该元素存在,并且不为n

  • 我目前正在使用playright/Python/Pytest,我正在尝试将用户登录作为特定类型的用户角色,然后检查各种按钮是否可见或隐藏。 我正在使用页面对象,并为每个按钮元素设置了属性,即。 然后我使用一个验证方法的可见按钮: 这可以很好地工作,并将测试中的断言传递回true。 然后,我尝试使用以下方法对隐藏值执行相同操作: 但是我得到了这个错误——等待选择器“xpath=//h3[normal

  • 在Swift中,如何检查数组中是否存在元素?Xcode没有关于、或的任何建议,并且在这本书中快速搜索没有任何结果。知道怎么查这个吗?我知道有一个方法返回索引号,但是有没有一个方法像Ruby的那样返回一个布尔值? 我需要的示例: