JsonNode - 空指针异常

JsonNode - null pointer exception

我需要获取此 arrayNode 中的值(以防万一,我知道它只会是数组中的一个值 - 请不要问我为什么,这是我接收的方式它):

"data": {
    "services": [
        "ISP3100008972@some.com"
    ]
}

我是运行这部分代码:

ArrayNode arrNode = (ArrayNode) new ObjectMapper().readTree(resBody).path("data").get("services");
if (arrNode.isArray()) {
    for (final JsonNode objNode : arrNode) {
        serviceId = objNode.get(0).textValue();
        log.info("serviceId: " + serviceId + " is available");
    }
}

我在这一行中收到 java.lang.NullPointerException: null: serviceId = objNode.get(0).textValue();

拜托,任何人都可以看看这个吗?将不胜感激。

您正在调用 objNode.get(0),它将检索数组的第一个值 如果 objNode 是一个数组节点 - 但它不是,它是数组内的节点。如果节点不是数组,JsonNode.get(int) 记录为 return null。

您只需要:

serviceId = objNode.textValue();