从管道groovy脚本

时间:2017-10-25 02:28:18

标签: json groovy jenkins-pipeline

我有json字符串值。我需要从json字符串中获取值。我必须尝试将json字符串转换为json对象,然后获取值。

我已尝试以下步骤将json字符串转换为json对象。

import groovy.js
def slurper = new JsonSlurper().parseText(str).on.JsonSlurper

但是在获取值时我遇到了以下错误。

  

java.lang.IllegalArgumentException:无法为EchoStep实例化{message = org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:unclassified field java.lang.String id}(message:String):java.lang.ClassCastException: org.jenkinsci.plugins.workflow.steps.EchoStep.message期望类java.lang.String但收到类org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException。

请提供更好的建议,以便从groovy

中获取json字符串中的值

注意:我没有限制脚本批准。

1 个答案:

答案 0 :(得分:0)

首先,我发现Jenkins在JsonSlurperClassic中的表现更好。

只需要{p> def slurper = new JsonSlurper().parseText(str)来制作json对象,这是一个奇怪的mappy-listy对象。您可以像在其中包含数组的地图一样引用它:slurper.mapvalone[0].mapvaltwo[0]