从jenkins读json

时间:2018-03-06 11:27:57

标签: jenkins jenkins-groovy

我试图用带有grovvy脚本的jenkins文件读取一个json文件。我正在使用pipeline-utility-steps-plugin,它允许使用以下内容将json文件作为字符串读取。

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

阅读完doc后,我以为我可以用这样的东西出去,但我肯定做错了什么因为结果是空的?

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"
      }
    ]
  }
}

1 个答案:

答案 0 :(得分:3)

你错误地访问了它。 projects中的projects.project[1].name引用此处定义的变量def projects = readJSON file: "${env.WORKSPACE}\\Projects.json"

您再次将内部json密钥设为projects。因此,请使用projects.projects.project[1].name来访问该值。希望这会有所帮助。