Filtering/Selecting groovy 中 Json 中索引的数组值
Filtering/Selecting array values from index in Json in groovy
正在尝试筛选选择性索引。 Fieldid 值随着每次构建而变化,不变的是 fieldName": "TX.Sessionval.cost"
。需要过滤掉整个stringval
存入变量
fieldName": "TX.Sessionval.cost"
[
{
"Fieldid": "Fieldid/112",
"fieldName": "TX.Sessionval.cost",
"stringval": "jklah-dw-4c8d-8320-das313s3ASsda|000725N8WuUrfwAS7alP|banker_name"
}
]
尝试def slurper = new JsonSlurper() def result = slurper.parseText(response.getResponseBodyContent()) def newf = result.findAll { it.contains("TX.Sessionval.cost") }
得到groovy.lang.MissingMethodException:没有方法签名:java.util.LinkedHashMap$Entry.contains()
在 Postman 定位器中工作正常
postman.setEnvironmentVariable("Stdid", jsonData.newFields[112].stringValue)
你问题中的JSON是错误的。从你的工作中推断
代码,这应该可以工作:
result.newFields.find{ it.fieldName == "TX.Sessionval.cost" }?.stringValue
这对我有用 result.newFields.findAll { Map map -> map.get("fieldName").contains("TX.Sessionval.cost") }?.stringValue
正在尝试筛选选择性索引。 Fieldid 值随着每次构建而变化,不变的是 fieldName": "TX.Sessionval.cost"
。需要过滤掉整个stringval
存入变量
fieldName": "TX.Sessionval.cost"
[
{
"Fieldid": "Fieldid/112",
"fieldName": "TX.Sessionval.cost",
"stringval": "jklah-dw-4c8d-8320-das313s3ASsda|000725N8WuUrfwAS7alP|banker_name"
}
]
尝试def slurper = new JsonSlurper() def result = slurper.parseText(response.getResponseBodyContent()) def newf = result.findAll { it.contains("TX.Sessionval.cost") }
得到groovy.lang.MissingMethodException:没有方法签名:java.util.LinkedHashMap$Entry.contains()
在 Postman 定位器中工作正常
postman.setEnvironmentVariable("Stdid", jsonData.newFields[112].stringValue)
你问题中的JSON是错误的。从你的工作中推断 代码,这应该可以工作:
result.newFields.find{ it.fieldName == "TX.Sessionval.cost" }?.stringValue
这对我有用 result.newFields.findAll { Map map -> map.get("fieldName").contains("TX.Sessionval.cost") }?.stringValue