JSON 包含的路径

JSON path for contains

我有以下 json

{
"swagger": "2.0",
"info": {
"version": "v2",
"title": "Portfolio"
},
"host": "portfolio.com",
"schemes": [
"https"
],
"paths": {
"/v2/clients/{clientId}/assets": {
"get": {
"tags": [
"assets"

有多个路径我想提取,但它们都以 /v2/clients 开头,所以我要寻找的是所有以 /v2/clients 开头但 none 的子数据下面,只是 ""

之间的完整路径

我正在使用 jmeter JSON 提取器,如果我使用 $.paths,它会从此时开始,但会带来所有大量的子数据。我试过查看 Whosebug,但找不到我要找的东西。任何帮助表示赞赏

我相信最简单的方法是 JSR223 PostProcessor and Groovy language

  1. 将 JSR223 后处理器添加为 returns 以上 JSON
  2. 请求的子项
  3. 将以下代码放入"Script"区域:

    def index = 1
    new groovy.json.JsonSlurper().parse(prev.getResponseData()).paths.each { path ->
        if (path.getKey().startsWith('/v2')) {
            vars.put('path_' + index, path.getKey())
            index++
        }
    }
    
  4. 就是这样,你会JMeter Variables喜欢:

    path_1=/v2/clients/{clientId}/assets
    path_2=/v2/foo/bar
    path_3=/v2/baz/qux
    etc.
    

更多信息: