我想从instanceGroupName
= slave
中得到requestedInstanceCount
。如何用Jackson实现这一点?
下面是job-flow.json
:
{
"generalId": "ABC"
"instanceCount": 4,
"instanceGroups": [
{
"instanceGroupId": "CDE",
"instanceGroupName": "master",
"requestedInstanceCount": 1
},
{
"instanceGroupId": "FGH",
"instanceGroupName": "slave",
"requestedInstanceCount": 8
}
]
}
到目前为止,我所拥有的是:
val jobFlowJson: String = new String(Files.readAllBytes(Paths.get("/mnt/var/lib/info/job-flow.json")))
val jsonNode = mapper.readValue(jobFlowJson, classOf[JsonNode])
val instanceCount = jsonNode.get("requestedInstanceCount").asInt
但是有2个值,主从之间的顺序可以随时改变。提前感谢!
1条答案
按热度按时间ccrfmcuu1#
您必须一步一步地遍历JSON树:
instanceGroups
requestedInstanceCount
如下所示(伪Scala代码):
或者定义一些case类来表示结构,并将JSON传递到case类中。如果没有特定的原因不这样做,那么操作起来会容易得多。