Parsing 无法分析katalon studio中的响应正文内容

Parsing 无法分析katalon studio中的响应正文内容,parsing,groovy,katalon-studio,jsonslurper,Parsing,Groovy,Katalon Studio,Jsonslurper,我面临一个问题,无法解析响应体内容 下面是我用于解析的内容,它对其他响应有效,但对当前响应无效 String getContent = get_response.getResponseBodyContent() JsonSlurper slurper = new JsonSlurper() Map parsedJson = slurper.parseText(getContent) 它给了我一个错误: 这是因为在响应正文内容中有一个JSON数组。试试这个: List parsedJson =

我面临一个问题,无法解析响应体内容

下面是我用于解析的内容,它对其他响应有效,但对当前响应无效

String getContent = get_response.getResponseBodyContent()
JsonSlurper slurper = new JsonSlurper()
Map parsedJson = slurper.parseText(getContent)
它给了我一个错误:
这是因为在响应正文内容中有一个JSON数组。试试这个:

List parsedJson = slurper.parseText(getContent)
或者只是

def parsedJson = slurper.parseText(getContent)
详细示例:

def json = """
[
    {
        "companyName":"Foo",
        "customerId":"Bar"
    },
    {
        "companyName":"Foo2",
        "customerId":"Bar2"
    }
]
"""
def slurper = new JsonSlurper()
//Map mapJson = slurper.parseText(json) FAIL!!!
List listJson = slurper.parseText(json)
def objJson = slurper.parseText(json)

objJson.each { map ->
    println(map)
}
输出:

[companyName:Foo, customerId:Bar]
[companyName:Foo2, customerId:Bar2]

这是因为在响应正文内容中有一个JSON数组。试试这个:

List parsedJson = slurper.parseText(getContent)
或者只是

def parsedJson = slurper.parseText(getContent)
详细示例:

def json = """
[
    {
        "companyName":"Foo",
        "customerId":"Bar"
    },
    {
        "companyName":"Foo2",
        "customerId":"Bar2"
    }
]
"""
def slurper = new JsonSlurper()
//Map mapJson = slurper.parseText(json) FAIL!!!
List listJson = slurper.parseText(json)
def objJson = slurper.parseText(json)

objJson.each { map ->
    println(map)
}
输出:

[companyName:Foo, customerId:Bar]
[companyName:Foo2, customerId:Bar2]

现在,我得到另一个错误。org.codehaus.groovy.runtime.InvokerInvocationException:groovy.lang.MissingMethodException:没有方法签名:java.util.ArrayList.get()适用于参数类型:(java.lang.String)值:[id]可能的解决方案:get(int)、get(int)、getAt(java.lang.String)、getAt(java.lang.String)、grep()、grep()可能是因为您试图通过
parsedJson
中的字符串键访问一个值,这是一个列表。如果是这种情况,请尝试此
parsedJson[0][“companyName”]
。通过这种方式,您将访问解析后的JSONTANKS中第一个元素的
companyName
,效果很好!但为什么不为我的案例使用Map呢?您可以在屏幕截图上看到,您有一个被方括号包围的JSON数组
[{…}]
。有关更多信息,请访问。另外,如果声明变量类型,Groovy会尝试将右侧表达式转换为该变量类型type@Dmitry,我正在尝试类似的解决方案。但是,我无法过滤内容并将其打印出来。有什么建议吗?现在,我又犯了一个错误。org.codehaus.groovy.runtime.InvokerInvocationException:groovy.lang.MissingMethodException:没有方法签名:java.util.ArrayList.get()适用于参数类型:(java.lang.String)值:[id]可能的解决方案:get(int)、get(int)、getAt(java.lang.String)、getAt(java.lang.String)、grep()、grep()可能是因为您试图通过
parsedJson
中的字符串键访问一个值,这是一个列表。如果是这种情况,请尝试此
parsedJson[0][“companyName”]
。通过这种方式,您将访问解析后的JSONTANKS中第一个元素的
companyName
,效果很好!但为什么不为我的案例使用Map呢?您可以在屏幕截图上看到,您有一个被方括号包围的JSON数组
[{…}]
。有关更多信息,请访问。另外,如果声明变量类型,Groovy会尝试将右侧表达式转换为该变量类型type@Dmitry,我正在尝试类似的解决方案。但是,我无法过滤内容并将其打印出来。有什么建议吗?