jq:TransformJSON来自空手道冲浪报告的结果得到了更简单的步骤状态

jq:TransformJSON来自空手道冲浪报告的结果得到了更简单的步骤状态,json,jq,karate,Json,Jq,Karate,我想知道如何使用jq转换json,但我不太明白如何获得期望的结果;从以下内容开始(我从自动化测试中获得): 资料来源: 从现在起我一直在尝试: $cat$JSON_文件| jq.[].elements[].steps[].name、[].elements[].steps[].result.status' “url”http://be-service.test.svc.cluster.local/SVC_INTERFACE_V1'" “请求” “标题内容类型='应用程序/soap+xml;字符集=

我想知道如何使用jq转换json,但我不太明白如何获得期望的结果;从以下内容开始(我从自动化测试中获得):

资料来源: 从现在起我一直在尝试:
$cat$JSON_文件| jq.[].elements[].steps[].name、[].elements[].steps[].result.status'
“url”http://be-service.test.svc.cluster.local/SVC_INTERFACE_V1'"
“请求”
“标题内容类型='应用程序/soap+xml;字符集=utf-8'”
“方法桩”
“状态200”
“def信封=响应['soapenv:envelope']”
“def body=response['soapenv:Envelope']['soapenv:body']”
“def result=body['NS1:monitoraggioJBossResponse']”
“def esito=result.esito”
“匹配esito=='ERR'”
“通过”
“通过”
“通过”
“通过”
“通过”
“通过”
“通过”
“通过”
“通过”
“通过”

我的回答使用了手册中描述的“快捷语法”。它创建两个对象,然后将它们添加到一起。开头和结尾的方括号将输出放在一个数组中

jq '[.[].elements[].steps[]|{name} + (.result|{status})]'

就其价值而言,这是等价的。
map(x)
的定义解释了原因

jq 'map(.elements[].steps[]|{name} + (.result|{status}))'

jq '[.[].elements[].steps[]|{name} + (.result|{status})]'
jq 'map(.elements[].steps[]|{name} + (.result|{status}))'