我如何解析具有 json 的文本文件并获取数组元素
How do i parse a text file that has json and get array element
我正在尝试使用 json 解析文本文件并从 json 数组中获取其中一个元素。下面是我正在尝试解析的json
[
{
"ContainerConfig": {
"Labels": {
"commit-id": "abcdef123d",
"author": "Jon"
}
}
}
]
下面是我在 jenkinsfilegroovy 中的实现
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
我收到这个错误消息 -
java.lang.ClassCastException: org.jenkinsci.plugins.workflow.steps.EchoStep.message expects class java.lang.String but received class java.util.ArrayList
使用 JsonSlurper 并不是真正的最佳实践,可能会导致 CPS 出现问题,请改用 readJSON(IMO 也更容易使用)。
我还怀疑 commit-id
中的 -
导致了错误,您应该改用 ["commit-id"]
snytax。
我正在尝试使用 json 解析文本文件并从 json 数组中获取其中一个元素。下面是我正在尝试解析的json
[
{
"ContainerConfig": {
"Labels": {
"commit-id": "abcdef123d",
"author": "Jon"
}
}
}
]
下面是我在 jenkinsfilegroovy 中的实现
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
我收到这个错误消息 -
java.lang.ClassCastException: org.jenkinsci.plugins.workflow.steps.EchoStep.message expects class java.lang.String but received class java.util.ArrayList
使用 JsonSlurper 并不是真正的最佳实践,可能会导致 CPS 出现问题,请改用 readJSON(IMO 也更容易使用)。
我还怀疑 commit-id
中的 -
导致了错误,您应该改用 ["commit-id"]
snytax。