我有一个map列表(从休息请求的json输出解析),如
[[Mobile:9876543210, Name:ABCD], [Mobile:8765432109, Name:EFGH], [Mobile:7654321098, Name:IJKL], [Mobile:6543210987, Name:MNOP]]
原始JSON就像
{
"data": [{
"Name": "ABCD",
"Mobile": "9876543210"
},
{
"Name": "EFGH",
"Mobile": "8765432109"
},
{
"Name": "IJKL",
"Mobile": "7654321098"
},
{
"Name": "MNOP",
"Mobile": "6543210987"
}
]
}
我想从名称中获取移动值
尝试了一些事情但是没有成功。
使用Groovy在JMETER JSR223后处理器中尝试这个。
答案 0 :(得分:1)
您应该能够根据Mobile
获得Name
。
以下代码从OP的数据中获取名称为8765432109
时的移动EFGH
。同样,您可以更改名称的值,以获得正确的 Mibile 。
//Pass jsonString value to below parseText method
def json = new groovy.json.JsonSlurper().parseText(jsonString)
def result = json.data.find { it.Name == 'EFGH' }.Mobile
println result
您可以快速在线试用 Demo
答案 1 :(得分:0)
以下是从原始JSON响应中获取Name:Mobile
对的Groovy代码示例(使用JSR223 PostProcessor中的代码)
def json = new groovy.json.JsonSlurper().parse(prev.getResponseData())
json.data.each {entry ->
entry.each {k, v -> log.info("${k}:${v}")}
}
演示:
参考文献: