詹金斯 Groovy 解析 json
Jenkins Groovy parse json
我得到以下 JSON:
{
"dev": {
"hoster": "123",
"id": "123",
},
"stage": {
"hoster": "123",
"id": "123",
"merge": "dev",
"slackChannel": "#dg-test-deployments"
},
"master": {
"hoster": "123",
"id": "123",
"merge": "stage",
},
"updates": {
"hoster": "123",
"id": "123",
"merge": "master",
"slackChannel": "#dg-test-deployments"
}
}
并且要检查键 dev、stage、master 和 更新 存在。
关于如何在 groovy 中做到这一点有什么建议吗? :)
您可以尝试例如:
import groovy.json.JsonSlurper
def json = '''{
"dev": {
"hoster": "123",
"id": "123",
},
"stage": {
"hoster": "123",
"id": "123",
"merge": "dev",
"slackChannel": "#dg-test-deployments"
},
"master": {
"hoster": "123",
"id": "123",
"merge": "stage",
},
"updates": {
"hoster": "123",
"id": "123",
"merge": "master",
"slackChannel": "#dg-test-deployments"
}
}'''
def slurped = new JsonSlurper().parseText(json)
assert slurped.keySet().containsAll(['dev', 'stage', 'master', 'updates'])
管道支持readJSON
和writeJSON
now。
注意: 插件Pipeline Utility Steps Plugin needs to be installed. See for more info. Sample code can be found at github sample.
我得到以下 JSON:
{
"dev": {
"hoster": "123",
"id": "123",
},
"stage": {
"hoster": "123",
"id": "123",
"merge": "dev",
"slackChannel": "#dg-test-deployments"
},
"master": {
"hoster": "123",
"id": "123",
"merge": "stage",
},
"updates": {
"hoster": "123",
"id": "123",
"merge": "master",
"slackChannel": "#dg-test-deployments"
}
}
并且要检查键 dev、stage、master 和 更新 存在。
关于如何在 groovy 中做到这一点有什么建议吗? :)
您可以尝试例如:
import groovy.json.JsonSlurper
def json = '''{
"dev": {
"hoster": "123",
"id": "123",
},
"stage": {
"hoster": "123",
"id": "123",
"merge": "dev",
"slackChannel": "#dg-test-deployments"
},
"master": {
"hoster": "123",
"id": "123",
"merge": "stage",
},
"updates": {
"hoster": "123",
"id": "123",
"merge": "master",
"slackChannel": "#dg-test-deployments"
}
}'''
def slurped = new JsonSlurper().parseText(json)
assert slurped.keySet().containsAll(['dev', 'stage', 'master', 'updates'])
管道支持readJSON
和writeJSON
now。
注意: 插件Pipeline Utility Steps Plugin needs to be installed. See