我正在使用SOAPUI自动化REST API。我有两种不同的资源,以下是Response JSON格式。 根元素不同,但状态块对于响应jsons保持相同。在Rest API POST调用之后,我有一个Groovy脚本来验证响应(如果“code”==“00”)
目标:使用Groovy脚本,我将通过JSON解析并检索“代码”节点值,而不管根元素。
响应(JSON)格式:
{
"resouurce_1_response":
{
"status":
{
"code": "00"
}
}
}
{
"resource_2_response":
{
"status":
{
"code": "00"
}
}
}
答案 0 :(得分:1)
这样做的一个简单方法是:
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比您显示的更复杂,您可能需要做一些不同的事情(递归地走地图?)