Как разобрать с jsonSlurper (), используя операторы if / else в Groovy? - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь проанализировать некоторые JSON и получить статус из 'stop-emu'.

def stageJson = new JsonSlurper().parseText(response?.content)
stageJson.stages.each { echo(it) }
//status = ????

приведенный выше код возвращает следующее:

16:49:47 [_links:[self:test], id:2, name:test_name, execNode:none, status:SUCCESS, pauseDurationMillis:0]
[Pipeline] echo
16:49:47 [_links:[self:test], id:5, name:test_name, execNode:none, status:SUCCESS, pauseDurationMillis:0]
[Pipeline] echo
16:49:47 [_links:[self:test], id:6, name:stop-emu, execNode:none, status:FAILED, pauseDurationMillis:0]
[Pipeline] echo
16:49:47 [_links:[self:test], id:100, name:del-work, execNode:none, status:SUCCESS, pauseDurationMillis:0]
[Pipeline] echo

I'mна полпути, просто не уверен, как получить статус, если name = stop-emu.

1 Ответ

0 голосов
/ 01 июня 2018

, чтобы найти первый

stageJson.stages.find{it.name=='stop-emu'}?.status

, если у вас есть и вам нужно собрать их все:

stageJson.stages.findAll{it.name=='stop-emu'}.collect{it.status}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...