简体   繁体   English

Jenkins Groovy解析json

[英]Jenkins Groovy parse json

I got the following 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"
  }
}

And want to check if the keys dev , stage , master and updates exists. 并要检查键devstagemasterupdate是否存在。

Any advice how to do that in groovy ? 任何建议如何在常规中做到这一点? :) :)

You can try eg: 您可以尝试例如:

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'])

Pipeline supports readJSON and writeJSON now . 管道现在支持readJSONwriteJSON

Note : plugin Pipeline Utility Steps Plugin needs to be installed. 注意 :需要安装插件Pipeline Utility Steps插件 See this answer for more info. 有关更多信息,请参见此答案 Sample code can be found at github sample . 示例代码可以在github sample找到。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM