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
- 将 JSR223 后处理器添加为 returns 以上 JSON
请求的子项
将以下代码放入"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++
}
}
就是这样,你会JMeter Variables喜欢:
path_1=/v2/clients/{clientId}/assets
path_2=/v2/foo/bar
path_3=/v2/baz/qux
etc.
更多信息:
我有以下 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
- 将 JSR223 后处理器添加为 returns 以上 JSON 请求的子项
将以下代码放入"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++ } }
就是这样,你会JMeter Variables喜欢:
path_1=/v2/clients/{clientId}/assets path_2=/v2/foo/bar path_3=/v2/baz/qux etc.
更多信息: