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

Count child nodes of a JSON response using groovy in soapui

出于安全原因,我收到了 JSON 的回复,我不得不截图并 post 放在这里。

我需要查找可用行程价格的数量。每个花括号指的是一个单独的行程,我如何在 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 :(

求助!请同时参考截图。

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