JsonNode - NULLポインタ例外

ハビエルIrrazábal:

私はこのarrayNodeで値を取得する必要があります(場合だけ、私はアレイ内の一つの値だけになるだろう知っている - それは私がそれを受信して​​いている方法である理由、私に聞かないでください):

"data": {
    "services": [
        "[email protected]"
    ]
}

私は、コードのこの部分を実行しています:

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がを取得しています:この行のヌル:サービスID = objNode.get(0).textValue();

、缶誰もがこれを見てください?それは非常に高く評価されるだろう。

ジョンスキート:

あなたは呼んでいるobjNode.get(0)配列の最初の値を取得することになる、場合objNode配列ノードだった、それはノードだが、そうではありません- の配列。JsonNode.get(int)ノードが配列でない場合はnullを返すために文書化されています。

あなただけの必要があります。

serviceId = objNode.textValue();

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=318646&siteId=1