SOAPUI - 使用 Groovy 脚本解析不同的 JSON 响应对象以获取相同的子节点值

SOAPUI - Parse different JSON Response objects to fetch the same child node values using Groovy Scripting

我正在使用 SOAPUI 实现 REST API 的自动化。我有 2 种不同的资源,下面是 Response JSON 格式。 根元素各不相同,但两个响应 json 的状态块保持相同。在 Rest API POST 调用之后,我有一个 Groovy 脚本来验证响应(如果 "code" == "00")

目标:使用 Groovy 脚本,我必须解析 JSON 并检索 "code" 节点值,而不考虑根元素。

响应(JSON) 格式:

{
    "resouurce_1_response":
    {
        "status":
        {
            "code": "00"
        }
    }
}

{
    "resource_2_response":
    {
        "status":
        {
            "code": "00"
        }
    }
}

一个快速的方法是:

def json1 = '{ "resouurce_1_response": { "status": { "code": "00" } } }'
def json2 = '{ "resource_2_response": { "status": { "code": "00" } } }'

import groovy.json.*

def slurper = new JsonSlurper()

assert slurper.parseText(json1).find().value.status.code == '00'
assert slurper.parseText(json2).find().value.status.code == '00'

当然,如果您的实际 Json 比您显示的更复杂,您可能需要做一些不同的事情(递归遍历地图?)