Search code examples
parsinggroovykatalon-studiojsonslurper

Cannot parse response body content in katalon studio


I’m facing a problem, where I can’t parse response body content.

Here is what I use for parsing, that works for another responses but for current response it doesn’t work.

String getContent = get_response.getResponseBodyContent()
JsonSlurper slurper = new JsonSlurper()
Map parsedJson = slurper.parseText(getContent)

And it gives me a following error: enter image description here


Solution

  • This is because you have a JSON array in your response body content. Try this one:

    List parsedJson = slurper.parseText(getContent)
    

    or just

    def parsedJson = slurper.parseText(getContent)
    

    Detailed example:

    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)
    }
    

    Output:

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