从 groovy 中的 Json 索引中过滤/选择数组值

问题描述

尝试过滤选择性索引。 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.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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...