JSON提取器

组件使您可以执行JSON文档的验证。JSON PostProcessor使您可以使用JSON-PATH语法从JSON响应中提取数据。跟正则表达式提取器很相似。她必须作为HTTP Sample的子项或具有响应的任何其他采样器。她允许您以非常简单的方式提取文本内容。


添加》后置处理器》JSON提取器

JSON提取器页面的解释:

名称:自己命名即可
注释:自己命名即可
Apply to:

  1. 名称:自行定义,就是节点的名称
  2. 注释:节点的注释,容易理解的解释
  3. Apply to:断言可以应用于主样本,子样本或者两者。默认断言是第二个,断言应用于主样本。
  • Main sample and sub-samples:主样本和子样本
  • Main sample only:仅主样本
  • Sub-samples only:仅子样本
  • JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容
    Names of created variables:变量名称,比如:id,后续可以引用这个名称
    JSON Path Expressions:JSON元素的路径
    Match No. (0 for Random):0代表随机,就是JSON路径取出来的可能有多个值,0就是随机取一个,要取第一个,那么就填1即可。-1代表取所有
    Compute concatenation var:如果找到许多结果,插件将会使用’,’连接起来
    Default Values:默认值

JSON提取器分析:

返回的数据必须的JSON格式,否则会解析失败。他将JsonPath语法搜索指定的路径,找不到路径,则会失败。http://goessner.net/articles/JsonPath/ 这个网址去学习JSON语法                                                           

还是以禁用新建学校为例   

取id和schoolid

 

 JSON提取器可以在测试表达式是否提取成功   成功后直接复制去提取器粘贴即可   

 

 然后去提取 ID  

 

 可以看到相应中有两个ID  这个时候可以通过JSON解析来看这两个ID所在的类目   JSON解析地址   https://www.json.cn/json/jsononline.html

  

 

 通过解析可以明显看到这这两个id一个在一级目录data中   一个在data下面的二级目录listSchoolType 中    

要取一级目录data下面的ID的话   $.data.id   就可以了

  

 

 如果要取二级目录listSchoolType中的ID的话 $.data.listSchoolType..id

 

 这里我们需要的是第一个目录中的ID 所以我们用 $.data.id来取 

 

 然后去禁用学校中引用就可以了  

 

posted @ 2021-07-24 17:28  90KG  阅读(316)  评论(0)    收藏  举报