对等级别的jmeter json路径条件提取

对等级别的jmeter json路径条件提取,jmeter,jsonpath,Jmeter,Jsonpath,我使用的是JMeterV2.13和jp@gc-JSON路径提取器 这是我的JSON示例: { “意见”:[{ “id”:9701, “名称”:“EBS:EAS:IDC(EAS MBT IDC)”, “canEdit”:没错, “sprintSupportEnabled”:true, “过滤器”:{ “id”:55464, “名称”:“EBS:EAS:IDC和oBill Boar过滤器”, “查询”:“项目=\”EBS:EAS:IDC\”, “所有者”:{}, “canEdit”:错误, “is

我使用的是JMeterV2.13和jp@gc-JSON路径提取器

这是我的
JSON
示例:

{
“意见”:[{
“id”:9701,
“名称”:“EBS:EAS:IDC(EAS MBT IDC)”,
“canEdit”:没错,
“sprintSupportEnabled”:true,
“过滤器”:{
“id”:55464,
“名称”:“EBS:EAS:IDC和oBill Boar过滤器”,
“查询”:“项目=\”EBS:EAS:IDC\”,
“所有者”:{},
“canEdit”:错误,
“isOrderedByRank”:没错,
“许可证条目”:[{
“价值观”:[{
“类型”:“与公众共享”,
“名称”:”
}]
}]
},
“董事会管理员”:{}
},
{}
]
}
是否可以提取
视图[x].id
中存在的条目
视图[x].filter.permissionEntries[*].values[*].type
等于与公众共享的

我该怎么做


谢谢

JSON查询看起来是这样的(我承认我没有在JMeter中尝试过)

说明:

我们希望根(
$
)下有
视图
,并且它有属性
id
。其余部分(在
[]
中)是根据预定义条件仅选择
视图
项的条件。因此$.views[conditions].id

这种情况下的条件是一个接一个,但主要部分是:

  • 我们将条件定义为过滤器
    ?(…)

  • 我们要求筛选器在当前项(
    @
    )下查找特定的子项(
    .child
    ),子项可能有自己的条件(
    […]
    )。因此@.child[条件]。这样我们就可以通过
    过滤器
    权限条目

  • 最后,我们进入字段
    ,并将其筛选为子
    类型
    字段,该字段具有与公众共享的特定值
    。因此@.type==“与公众共享”

正如您看到的,它不是很直观,JSON路径有点有限。如果这是一个重复的问题,你的JSON更复杂,你可以考虑投资到脚本化的预处理器(类似于解释的。

)。
$.views[?(@.filter[?(@.permissionEntries[?(@.values[?(@.type == "Shared with the public")])])])].id