ハビエル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();