使用 JSONSlurper 传递列表中 JSON 的第二级
Using JSONSlurper to pass second level of JSON in list
我在我的一个 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"]
}
}
如果我使用上面的代码,目前我的列表包含如下值:
Website1 Website2
但是我希望它包含如下值:select Website2
:
smoke default Testsuite2
有人可以推荐一个方法吗?我尝试了以下代码,但它不起作用:
import groovy.json.JsonSlurper
def inputFile = new File('.\TestSuitesJ.json')
def inputJSON = new JsonSlurper().parse(inputFile)
def keys = inputJSON.keySet('Website2') as List
试试这个方法:
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()
我在我的一个 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"]
}
}
如果我使用上面的代码,目前我的列表包含如下值:
Website1 Website2
但是我希望它包含如下值:select Website2
:
smoke default Testsuite2
有人可以推荐一个方法吗?我尝试了以下代码,但它不起作用:
import groovy.json.JsonSlurper
def inputFile = new File('.\TestSuitesJ.json')
def inputJSON = new JsonSlurper().parse(inputFile)
def keys = inputJSON.keySet('Website2') as List
试试这个方法:
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()