Xpath 将响应中的同级元素传输到就绪API/SOAP UI中的参数

Xpath 将响应中的同级元素传输到就绪API/SOAP UI中的参数,xpath,parameters,soapui,jsonpath,Xpath,Parameters,Soapui,Jsonpath,我有一个REST端点,它返回如下响应 [ { "id": "dbfff519-e8f6-4db3-9e26-a4e9014dc360", "code": "123456789012345678901234567890123456789012345678901234567890", "name": "client-code-with-character-length-sixty", }, { "id": "a673fb54-3503-4996-ba9b-a4e9014dc3e

我有一个REST端点,它返回如下响应

[
 {
  "id": "dbfff519-e8f6-4db3-9e26-a4e9014dc360",
  "code": "123456789012345678901234567890123456789012345678901234567890",
  "name": "client-code-with-character-length-sixty",
 },
 {
  "id": "a673fb54-3503-4996-ba9b-a4e9014dc3ea",
  "code": "18MTH",
  "name": "18 Month",
},
  {
  "id": "60b781e3-4515-40f5-81ee-a4e9014dc400",
  "code": "2periods",
  "name": "I Have 2 Periods",
}...
等等

我希望能够检索ID,例如,code=“2periods”UI可以使用ResponseAsxml(使用xpath)或Response with JSONPath进行检索。如果我使用前一个,我已经设法获得以下内容,几乎检索到我的ID

//响应[1]/e[code='2周期]/id

但这看起来像这样

<id>0bc4aa5f-f8ab-4efe-b788-a4e9014dc45f</id>
0bc4aa5f-f8ab-4efe-b788-a4e9014dc45f
我不知道如何删除开始和结束标记,id必须是GUID

我不知道如何在JSONPath中做类似的事情——我只得到了类似的东西

$[3]。id


工作,但在测试环境中无法保证实体的顺序。

对于
响应XML
,使用XPath仅获取id值,而不使用
标记,只需将
/text()
添加到实际表达式中:

//响应[1]/e[code='2periods']/id/text()

如果要对JSONPath使用
Response
属性执行相同操作,请尝试:

$…[?(@.[code']=='2periods')。id[0]


希望能有所帮助,

JSONPath似乎解析为GUID加上额外的[and],但xpath可以工作,所以我将坚持使用它-很多thanks@ZoëJobson要删除额外的括号,您可以将
[0]
添加到jsonpath表达式
:)