首页 > 解决方案 > 如何在 json 提取器中查找 json 数组长度

问题描述

我使用以下 JSON 和查询来计算 JMeter json 提取器中的数组长度。

{“数据”:{“模态”:“HJ”,“technicalid”:“e492fc62-a886-67a461b76de8”,“viewModel”:{“系列”:[{“名称”:“H_0_G_0_R_0”,“UID”:“ J_0_G_0_R_0”,“描述”:“Test1”,“类型”:“系列”,“组”:[ {“名称”:“H_0_G_0”,“UID”:“G_0_G_0”,“描述”:“组 1”, "type": "group" } ], "postProcessing": null } ] }, "status": "success" }, "success": true, "statusCode": 200, "errorMessage": "" }

这是查询。

data.Model.series[0].groups.length

这在在线 jsonquerytool 中运行良好。当我在 JMeter json 提取器中使用此查询时,它返回 null。我认为这是因为它返回一个整数,因为其他返回字符串的类似查询与 json extractor 一起工作正常。如何在 JMeter json 提取器中找到数组长度?

标签: jsonjmeter

解决方案


为什么使用 JSON 提取器来计算长度?您可以使用后处理器。就像使用 groovy 脚本的 JSR223 后处理器一样。

import groovy.json.*

def response = prev.responseDataAsString ;
def json = new JsonSlurper().parseText(response) ;
def sizeResultPractitioners = json.data.viewModel.series[0].groups.size();

log.info("---------->"+sizeResultPractitioners);

我尝试使用您的 JSON 响应负载,也尝试使用修改后的响应负载,

在此处输入图像描述

使用修改后的响应负载, 在此处输入图像描述

在此处输入图像描述


推荐阅读