Groovy - 解析 json:如何在 json 响应中找到某些 "block" 以进一步解析它
Groovy - parse json: how to find certain "block" in json response with the goal of further parsing it
先决条件:
我正在 SoapUI 工具中测试 REST。
我正在发送请求,结果
我有 json 响应,我想借助 groovy 代码解析它:
{"List": [
{
"id": 1,
"data1": "xxx",
"data2": {
"node1": "1",
"node2": "4",
"node3": 1,
}
},
{
"id": 2,
"data1": "yyy",
"data2": {
"node1": "2",
"node2": "6",
"node3": 2,
}
},
{
"id": 3,
"data1": "zzz",
"data2": {
"node1": "2",
"node2": "6",
"node3": 2,
}
}
]}
目标:我想找到某个块(例如"id" = 2),并继续解析这个块以进一步断言。
例如,我想验证一下,直接在"block"和"id"=2中,那些node1/node2/node 3对应的是{2,6,2}。
那么,如何使用 groovy(在 soapUI 脚本步骤中)做到这一点?
import groovy.json.JsonSlurper
def data = new JsonSlurper().parse ...
def e = data.List.find{it.id==1}
assert e.data1=="xxx"
先决条件: 我正在 SoapUI 工具中测试 REST。 我正在发送请求,结果 我有 json 响应,我想借助 groovy 代码解析它:
{"List": [
{
"id": 1,
"data1": "xxx",
"data2": {
"node1": "1",
"node2": "4",
"node3": 1,
}
},
{
"id": 2,
"data1": "yyy",
"data2": {
"node1": "2",
"node2": "6",
"node3": 2,
}
},
{
"id": 3,
"data1": "zzz",
"data2": {
"node1": "2",
"node2": "6",
"node3": 2,
}
}
]}
目标:我想找到某个块(例如"id" = 2),并继续解析这个块以进一步断言。
例如,我想验证一下,直接在"block"和"id"=2中,那些node1/node2/node 3对应的是{2,6,2}。
那么,如何使用 groovy(在 soapUI 脚本步骤中)做到这一点?
import groovy.json.JsonSlurper
def data = new JsonSlurper().parse ...
def e = data.List.find{it.id==1}
assert e.data1=="xxx"