1

我在我的一个 Jenkins 插件中使用 Groovy 和 JSON Slurper。下面是我正在使用的代码:

import groovy.json.JsonSlurper
def inputFile = new File('.\\TestSuitesJ.json')
def inputJSON = new JsonSlurper().parse(inputFile)
def keys = inputJSON.keySet() as List

这就是我的测试套件的定义方式:

{
  "Website1": {
  "smoke": "spec1.js",
  "default": "spec2.js"
  },
  "Website2": {
  "smoke": 
  ["spec1.js",
  "spec2.js",
  "spec3.js"],
  "default": 
  ["spec1.js",
  "spec5.js"],
  "TestSuite2":
  ["spec1.js"]
  }
}

目前,如果我使用上面的代码,我的列表包含以下值:

网站1 网站2

但是我希望它包含如下值: 选择Website2

烟雾默认Testsuite2

有人可以建议一种方法吗?我尝试了下面的代码,但它不起作用:

import groovy.json.JsonSlurper
def inputFile = new File('.\\TestSuitesJ.json')
def inputJSON = new JsonSlurper().parse(inputFile)
def keys = inputJSON.keySet('Website2') as List
4

1 回答 1

2

试试这个方法:

import groovy.json.JsonSlurper

def input = '''{
  "Website1": {
     "smoke": "spec1.js",
     "default": "spec2.js"
  },
  "Website2": {
     "smoke": 
        ["spec1.js",
         "spec2.js",
         "spec3.js"],
     "default": 
        ["spec1.js",
         "spec5.js"],
      "TestSuite2":
        ["spec1.js"]
    }
}'''

def inputJSON = new JsonSlurper().parseText(input)
def keys = inputJSON.Website2.keySet()
于 2016-11-16T20:09:50.253 回答