readJSON - конвейер jenkins - как получить доступ к вложенному элементу - PullRequest
1 голос
/ 15 октября 2019

У меня проблемы с доступом к вложенному JSON с помощью readJSON

oldJson string:

{"branch":{"type-0.2":{"version":"0.2","rc":"1","rel":"1","extras":"1"}}}

Я пытаюсь получить к нему доступ, как в примере https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#readjson-read-json-from-files-in-the-workspace

assert oldJson["rc"] == '1'

, ноэто терпит неудачу. Я думаю это потому, что «rc» вложено в «type-02». Как я могу получить к нему доступ?

1 Ответ

1 голос
/ 15 октября 2019

Вы всегда можете получить значение вложенного элемента по его вложенному ключу, используя скобочные или точечные обозначения.

stage('Read-JSON') {
    steps {
        script {
            def oldJson = '{"branch":{"type-0.2":{"version":"0.2","rc":"1","rel":"1","extras":"1"}}}'
            def props = readJSON text: oldJson
            println(props['branch']['type-0.2']['rc'])
            \\ or println(props.'branch'.'type-0.2'.'rc')

        }
    }
}

Вывод:

[Pipeline] stage
[Pipeline] { (Read-JSON)
[Pipeline] script
[Pipeline] {
[Pipeline] readJSON
[Pipeline] echo
1
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...