jenkins-pipeline readJSON - 如何访问嵌套元素

jenkins-pipeline readJSON - how to access nested element

我在使用 readJSON

访问嵌套 JSON 时遇到问题

oldJson 字符串:

{"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" 中。我怎样才能访问它?

您始终可以使用方括号表示法或点表示法通过嵌套键获取嵌套元素的值。

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