Json提取器
Json提取器界面如下:
- Variable names:保存的变量名,后面使用${变量名 }引用
- JSON Path expressions:json path表达式
- Match No(0 for Random):匹配数据的结果可以看作一个数组,表示如何取值:
1)0代表随机取值,默认
2)正数n表示取第n个值,(1:第一个值 )
3)负数表示提取所有符合条件的值,(-1:所有)
- Default Values:匹配不到值的时,取该值;
- Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”
- Apply to:作用范围(返回内容的断言范围)
1)Main sample and sub-samples:作用于主节点的取样器及对应子节点的取样器
2)Main sample only:仅作用于主节点的取样器
3)Sub-samples only:仅作用于子节点的取样器
4)JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称),从指定变量值中提取需要的值。
获取第一层中的某个value值
json提取器设置如下:
测试结果:
获取第二层List中所有value值
Json提取器设置如下:
测试结果:
当json提取器勾选 “Compute concatenation var(suffix_ALL)”;有name_ALL变量保存了所有匹配值。
一次性提取多个字段
Json提取器设置如下:
测试结果:
通过json提取的多个字段时,不同变量、表达式之间通过分号(;)进行分隔区分。
注意:
小技巧:
json格式调试,可通过“察看结果树”中,Json Path Test方式进行调试和验证。