[包含的JSON路径

问题描述 投票:0回答:1

我有下面的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开头的内容,但没有位于下面的子数据,只有它们之间的完整路径“”

我正在使用jmeter JSON提取器,如果我使用$ .paths,它会从这一点开始,但会带来所有海量的子数据。我试着环顾stackoverflow,但找不到确切的即时消息。任何帮助表示赞赏

jmeter jsonpath
1个回答
0
投票

我相信最简单的方法是JSR223 PostProcessorGroovy language

  1. 将JSR223 PostProcessor添加为在JSON以上返回的请求的子项
  2. 将以下代码放入“脚本”区域:

    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++
        }
    }
    
  3. 就这样,您将拥有JMeter Variables,如:

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

更多信息:

© www.soinside.com 2019 - 2024. All rights reserved.