Java 匹配包含任何子字符串的列表

Java 匹配包含任何子字符串的列表,java,karate,Java,Karate,{list:[{field1:“纽约”,field2:“旧金山”},{field1:“迈阿密”,field2:“芝加哥”} 和匹配列表包含任何子字符串“Francisco” 是否有任何可能的解决方案来验证列表中是否包含空手道中部分字符串验证的字段?许多选项。下面是一对。JsonPath是你的朋友。请参阅文档以了解其工作原理: * def response = { list: [ {field1:"New York", field2:"San Francisco&qu

{list:[{field1:“纽约”,field2:“旧金山”},{field1:“迈阿密”,field2:“芝加哥”}

和匹配列表包含任何子字符串“Francisco”


是否有任何可能的解决方案来验证列表中是否包含空手道中部分字符串验证的字段?

许多选项。下面是一对。JsonPath是你的朋友。请参阅文档以了解其工作原理:

* def response = { list: [ {field1:"New York", field2:"San Francisco"}, {field1:"Miami", field2:"Chicago"} ] }
* def values = $response.list[*].*
* match values contains "#? _.includes('Francisco')"
* match values contains "#regex .*Francisco.*"

请注意,以上内容是针对空手道1.0.1进行测试的,最后一行可能无法正常工作,因为存在以下问题:

许多选项。下面是一对。JsonPath是你的朋友。请参阅文档以了解其工作原理:

* def response = { list: [ {field1:"New York", field2:"San Francisco"}, {field1:"Miami", field2:"Chicago"} ] }
* def values = $response.list[*].*
* match values contains "#? _.includes('Francisco')"
* match values contains "#regex .*Francisco.*"

请注意,上面的内容是针对空手道1.0.1进行测试的,最后一行可能无法正常工作,因为存在以下问题:

这是专门针对列表实现的

* def condition = function(x){return (x.field2.contains('Francisco'))}
* def filteredResult = karate.filter(list, condition)
* match filteredResult = '#notnull'

条件函数验证列表是否有对象,并且此对象是否有要查看“field2”的特定字段。然后验证此字段是否包含关键字“Francisco”。空手道有一个过滤函数,返回过滤后的对象。最后一步是验证结果是否不为null。

这是专门针对列表实现的

* def condition = function(x){return (x.field2.contains('Francisco'))}
* def filteredResult = karate.filter(list, condition)
* match filteredResult = '#notnull'

条件函数验证列表是否有对象,并且此对象是否有要查看“field2”的特定字段。然后验证此字段是否包含关键字“Francisco”。空手道有一个过滤函数,返回过滤后的对象。最后一步是验证结果是否不为null。

您的问题不清楚,请注意,我解决了json中任何字段的问题。无论如何,我很高兴您找到了解决方案:|您的问题不清楚,请注意,我解决了json中的任何字段。无论如何,很高兴您找到了解决方案:|