我正在尝试用json解析一个文本文件,并从jsonArray中获取其中一个元素。下面是我试图解析的json。
[
{
"ContainerConfig": {
"Labels": {
"commit-id": "abcdef123d",
"author": "Jon"
}
}
}
]
下面是我在jenkinsfile中的groovy实现
def jsonStr=readFile('temp.txt').trim()
//here temp.txt consist of above json
JsonSlurper slurper = new JsonSlurper()
def parsedJson=slurper.parseText(jsonStr)
def commitId=parsedJson[0].ContainerConfig.Labels.commit-id
我要拿到这个errorMsg -
java.lang.ClassCastException: org.jenkinsci.plugins.workflow.steps.EchoStep.message expects class java.lang.String but received class java.util.ArrayList
发布于 2020-09-30 19:47:26
使用JsonSlurper并不是真正的最佳实践,并且可能会导致CPS出现问题,请改用readJSON (这也更容易使用)。
我还怀疑是commit-id
中的-
导致了这个错误,您应该使用["commit-id"]
snytax。
https://stackoverflow.com/questions/64144435
复制相似问题