Groovy:创建一个对象数组

Groovy:创建一个对象数组,groovy,Groovy,在下面的列表中,我们如何提取路径和方法来创建json对象数组 def List = [(proxy.pathsuffix MatchesPath "/{accountbillId}") and (request.verb = "POST"), (proxy.pathsuffix MatchesPath "/{accountbillId}") and (request.verb = "GET"), (proxy.pathsuffix MatchesPath "/") and (request.ve

在下面的列表中,我们如何提取路径和方法来创建json对象数组

def List = [(proxy.pathsuffix MatchesPath "/{accountbillId}") and (request.verb = "POST"), (proxy.pathsuffix MatchesPath "/{accountbillId}") and (request.verb = "GET"), (proxy.pathsuffix MatchesPath "/") and (request.verb = "GET"), !(request.header.Accept JavaRegex "(text\/xml)(;.*)|(.*;)(text\/xml)(;.*)|text\/xml|(.*;)(text\/xml)|(application\/xml)(;.*)|(.*;)(application\/xml)(;.*)|application\/xml|(.*;)(application\/xml)|(application\/json)(;.*)|(.*;)(application\/json)(;.*)|application\/json|(.*;)(application\/json)"), (!(request.content = "")) and (!(request.content is null)) and !(request.header.Content-Type JavaRegex "(text\/xml)(;.*)|(.*;)(text\/xml)(;.*)|text\/xml|(.*;)(text\/xml)|(application\/xml)(;.*)|(.*;)(application\/xml)(;.*)|application\/xml|(.*;)(application\/xml)|(application\/json)(;.*)|(.*;)(application\/json)(;.*)|application\/json|(.*;)(application\/json)"), (request.verb == "OPTIONS") and (request.header.origin != null)]
需要构建最终Json,如下所示:

{
    "paths": [
        {
            "path": "/{accountbillId}",
            "method": "POST"
        },
        {
            "path": "/{accountbillId}",
            "method": "GET"
        },
        {
            "path": "/"
            "method": "GET"
        }
    ]
}
已尝试此操作,但只能得到一个或另一个:

def sList = List
def pa = /(?<=proxy.pathsuffix MatchesPath ")([^"]+)/
def vb = /(?<=request.verb = ")([^"]+)/
def resultPA = sList.collect({
    def match = (it =~ pa)
    if (match.find()) {
        match.group()
    }
})
def pathparams = resultPA.findAll { it != null }
def resultVB = sList.collect({
    def match = (it =~ vb)
    if (match.find()) {
        match.group()
    }
})
def verbs = resultVB.findAll { it != null }
def jsonBody = [:]
def mm = verbs.collect {[method: it]}
def pp = pathparams.collect {[path: it]}
def pathx = [paths: pp]
    pathx = [paths: mm]
def finalBody = (JsonOutput.prettyPrint(JsonOutput.toJson(pathx)))
println finalBody


非常感谢您的帮助或指导。谢谢

请为
列表提供groovy代码(旁注:不要使用大写变量-groovy解析器迟早会将它们与类混淆);例如,您可以使用
inspect
print([“a”,1,“and”].inspect())
列表提供groovy代码(旁注:不要使用大写变量-groovy解析器迟早会将它们与类混淆);例如,您可以使用
inspect
print([“a”、1和“].inspect())
{
    "paths": [
        {
            "method": "POST"
        },
        {
            "method": "GET"
        },
        {
            "method": "GET"
        }
    ]
}
{
    "paths": [
        {
            "path": "/{accountbillId}"
        },
        {
            "path": "/{accountbillId}"
        },
        {
            "path": "/"
        }
    ]
}