我有样品json
[
: {
: : "id":"255",
: : "name”:”abc”,
: },
: {
: : "id":"257",
: : "name”:”xyz”,
: }
]
我在jmeter中使用json路径提取器来获取id和name的值。 但是,是否可以直接获得ID或名称的计数。 我知道我是否使用正则表达式提取器并使用for循环来获取计数。
答案 0 :(得分:2)
使用正则表达式提取器并设置否。匹配到负数没有。然后引用name_matchNr变量应该给你字符串的出现次数。
等
然后expression_matchNr变量应该给你id出现次数。
有关其他参考,请参阅JMeter帮助Regular Expression extractor
答案 1 :(得分:0)
可以通过一些脚本来实现。
例如,如果您有以下JSON有效负载:
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
以下JSONPath表达式:
$.employees..firstName
返回名字如下:
["John","Anna","Peter"]
您可以通过在结果变量中计算逗号来获取匹配数。
鉴于你正在使用" name"作为JSON路径提取器中的变量名称
将以下代码放入PostProcessor"脚本"面积:
int matches = vars.get("name").split(",").length;
vars.put("matches",String.valueOf(matches));
你应该有#34;匹配"变量包含" 3"
有关Apache JMeter中Beanshell脚本的更多信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。
答案 2 :(得分:0)