JSONpath,用于通过多个兄弟数组元素

时间:2017-09-14 02:33:40

标签: json rest soapui jsonpath

我有一个返回JSON二维列表的服务。我需要根据两个元素兄弟的值在第二维中找到一个值。

此JSON响应的子列表如下所示:

{
 "rows" :
 [
  ["15053518617",
   "MyItemName",
   "CallActivityActivated",
   "4",
   "354687456539856756757577547674562234",
   "CallActivity",
   "2010913-e8345ac7-6c54-4835-933b-3f7ddd2dd777",
   "B0012345-2017-01-13",
   "Activated",
   "",
   "\"null\""
  ],
  ...more rows...
 ]
}

我需要访问此数组元素中的元素7。但是,我不知道这些行将被返回的顺序。所以我需要JSONPATH语法,我可以在SoapUI属性传输中使用该行来通过此行中另外两个元素的组合来识别此行。

我可以通过以下方式访问此特定响应中具有硬编码值的行:

$.rows.[0].[7]

返回:

B0012345-2017-01-13

因为我不能依赖于相同顺序的行(与第一维不同,第二维中元素的顺序是一致的。)

我需要能够替换" [0]"查询将通过在第二维中找到目标值的两个兄弟来返回该数组偏移量:

$.rows.[?([1] == 'MyItemName' AND [2] == 'CallActivityActivated')].[7]

该语法不起作用。我刚回来[null]。我尝试过很多种组合。在这里列出所有内容只会增加混乱。

任何人都可以解释如何构造必要的JSONPATH语句吗?

0 个答案:

没有答案