一、 json path 语法

1、提取lastName的值可以写$.lastName

  • $: 代表整个json,根节点
  • . : 点代表下个节点
  • $.lastName 意思就是,找到根节点下的lastName的值

2、提取根节点下的 address,下的streetAddress

  • 根节点下的 address是一个对象,在json中以{}括起来的叫对象,city是address对象的子节点,所以表达式写为:$.address.streetAddress

3、提取列表中的值

  • phoneNumbers的值是一个列表,列表使用[] 括起来,列表中可以存放多个对象。
  • 提取phoneNumbers列表中的第一个对象的type的值,语法:$.phoneNumbers[0].type 取列表里面的值,要在后面加上[],里面填写索引值,第一个对象 对应索引0, 第二个对应索引1,以此类推。

二、JMeter中使用JSON

  • 注:以下演示接口是自己写的,如需要学习请在网上找返回响应数据为json的接口。

1、请求接口部分已省略,从添加结果树开始。在响应结果中 使用json path Tester查看提取信息是否正确,city的值为Nara

2、添加json提取器

3、填写提取器参数

Names of created variables:保存的变量名,后面使用${name}引用,多个变量时用分号分隔
JSON Path expressions:调试通过的json path表达式,也是用分号分隔
Match No.(0 for Random):匹配数字(0代表随机,1代表第一个,-1代表所有)
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”
Default Values:找不到时默认值

4、添加调试取样器

5、在结果树中查看