【问题标题】:Replacing a number variable in json using groovy使用groovy替换json中的数字变量
【发布时间】:2018-04-20 11:47:29
【问题描述】:

我有一个 json,其中有一些我想动态化并使用 groovy 替换值的数字。请让我知道是否有更好的方法,因为我已经使用 toInteger 进行转换但无法正常工作。 例如 { 职位名称:"", 协议名称:“tcp”, 端口号:"" } 我可以在 groovy 中使用替换替换字符串作业名称,但我无法替换端口号。最终的 json 应该如下所示

{ 工作名称:“我的工作”, 协议名称:“tcp”, 端口号:1112 }

如果有办法在 groovy 中做到这一点,请告诉我

【问题讨论】:

  • 能否请您发布当前用于进行字符串替换的代码,以及您为整数替换尝试过的一些事情? (理想情况下,您可以添加 minimal reproducible example)

标签: json jenkins grails groovy jenkins-groovy


【解决方案1】:

类似这样的:

String str = '{ "jobName":"", "protocolName":"tcp", "portNo":"" }'
def json = new JsonSlurper().parseText(str)
json.jobName = 'myJob'
json.portNo = 1112
println new JsonOutput().prettyPrint(new JsonOutput().toJson(json))

【讨论】:

  • 这行得通,我试过了,但詹金斯没有将输出或构建器方法列入白名单。有没有办法可以使用列入白名单的 groovy 代码进行转换
  • 不确定我是否理解你。您可以在 Jenkins 中使用所有 groovy 的功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多