需要使用groovy和Jenkins读取json文件的帮助

New*_*rld 5 groovy jenkins jenkins-plugins

我在读取JSON文件时遇到一些问题。我正在使用Jenkins Active Choice参数通过groovy脚本从JSON文件读取值。这就是我的JSON文件的外观。

{
  "smoke": "Test1.js",
  "default": "Test2.js"
}
Run Code Online (Sandbox Code Playgroud)

我希望我的常规脚本打印出烟雾和默认值。下面是我的常规代码。

import groovy.json.JsonSlurper
def inputFile = new File(".\TestSuitesJ.json")
def InputJSON = new JsonSlurper().parseText(inputFile)
InputJson.each
{
return[
key
]
}
Run Code Online (Sandbox Code Playgroud)

上面的代码对我不起作用。有人可以建议一种更好的常规方法吗?

sen*_*sei 3

你真的应该阅读 groovy 开发工具包页面,尤其是这个。

因为在您的情况下parseText()返回一个LazyMap实例,it所以您在每个闭包中获得的变量代表一个Map.Entry实例。所以你可以println it.key得到你想要的。

更绝妙的方式是:

inputJson.each { k, v ->
  println k
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,groovy 会向闭包传递映射中每个元素的键 (k) 和值 (v)。

  • 哇。您还没有阅读我指出的精彩文档。我给出的代码仅打印密钥,*如文档所述*。您一直在查看 Web 控制台中的“结果”选项卡而不是“输出”选项卡。我通常很乐意提供帮助,但这变得很愚蠢。 (2认同)