3

我正在尝试使用 grovvy 脚本从 jenkinsfile 中读取 json 文件。我正在使用 pipeline-utility-steps-plugin,它允许将 json 文件作为字符串读取,其中包含以下内容。

def projects = readJSON file: "${env.WORKSPACE}\\Projects.json"

阅读完文档后,我想我可以用这样的方法脱身,但我肯定做错了什么,因为结果为空?

projects.project[1].name

现在我的问题是我似乎无法弄清楚我是如何得到 2 号的名字的?请帮帮我

Projects.json 的内容

    {
  "projects": {
    "project": [
      {
        "name": "PackingStation",
        "solution": "PackingStation\\BLogic.Applications.PackingStation.sln",
        "analysisFiles": "BLogic.Applications.PackingStation.exe"
      },
      {
        "name": "MasterData",
        "solution": "MasterData\\BLogic.Applications.MasterData.sln",
        "analysisFiles": "BLogic.Applications.MasterData.exe"
      },
      {
        "name": "OrderManager",
        "solution": "OrderManager\\BLogic.Applications.OrderManager.sln",
        "analysisFiles": "BLogic.Applications.OrderManager.exe"
      }
    ]
  }
}
4

1 回答 1

11

您访问它是错误的。projectsinprojects.project[1].name指的是这里定义的变量def projects = readJSON file: "${env.WORKSPACE}\\Projects.json"

您再次拥有内部 json 键作为projects. 所以请使用projects.projects.project[1].name来访问该值。希望这可以帮助。

于 2018-03-06T12:29:43.813 回答