使用soapui中的groovy计算JSON响应的子节点

时间:2017-06-07 10:00:22

标签: json groovy soapui

由于安全原因,我有一个JSON响应,我必须截取屏幕并在此处发布。

enter image description here

我需要找到可用行程价格的数量。每个花括号都指一个单独的行程,如何在groovy脚本步骤中计算这些标记。

我尝试过的方法

def holder = groovyUtils.getXmlHolder( "air-search#ResponseAsXml" )
def xpath = "//*:search/*:itineraryPrice"
def numberOfRecommendations = holder["count(//*:search/*:itineraryPrice)"]
log.info "Total no of recommendations : "+numberOfRecommendations

但我输出的结果为1 :(

请帮忙!请参阅截图。

1 个答案:

答案 0 :(得分:1)

def json = '''{
"pos":"...",
"search":{
  "uri":"...",
  "itineraryPrice":[
    {"a":1},
    {"a":22},
    {"a":333},
    {"a":4},
    {"a":56}
  ]
}
}'''

json = new groovy.json.JsonSlurper().parseText(json)
def count = json.search.itineraryPrice.size()

输出:5