JMeter后置处理器之JSON提取器

1、JOSN提取器介绍

官网解释: JSON 后处理器允许您使用 JSON-PATH 语法从 JSON 响应中提取数据。该后处理器与正则表达式提取器非常相似。 它必须作为 HTTP 采样器或任何其他具有响应的采样器的子级放置。 它将允许您以非常简单的方式提取文本内容,请参阅 JSON 路径语法。

2、添加json提取器

【线程组】——>【添加】——>【后置处理器】
添加JSON提取器

3、JSON提取器面板介绍

  • Main sampleand sub-samples:应用于主sample及子sample
  • Main sample only:默认的是这个,应用于主sample
  • Sub-samples only:应用于子sample
  • JMeterVariableName to use:应用于变量命名的内容
  • Variable names : 名称
  • JSONPath Expression:JSON表达式
  • Match Numbers:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值
  • Default Value:未取到值的时候默认值

4、json提取器提取方法介绍:

$.你要提取的参数

1、响应类似{"属性":[{"sx":1},{},{}]},整个响应是个对象。取sx的值:$.属性[0].sx

2、修改json extractor 获取数组的所有值   $[*].属性。match no=3取第3个

3、match no=5,数组越界后,取default values

4、修改json extractor  设置match no =-1 匹配对应字段所有值;并修改接收参数的http请求的参数为 ${varname_N}。N=1-4
我想提取code参数值:
JSON Path Extractor:$.code

提取username参数值:
JSON Path Extractor:$.list[0].username
 

如果提取的参数不存在父级?
$.你要提取的参数名

提取的参数存在父级
$.你要提取的参数名的父亲.你要提取的参数名

如果提取参数的父级存在父级
$.你要提取的参数名的父亲的父亲(爷爷).你要提取的参数名的父亲.你要提取的参数名

参数如果是数组?
$.你要提取的参数参数[N]

以下标的形式取值,0代表取的数组中第一个值,1代表取的是数组中第二个值,N代表取的数组中第N+1个值

5、提取(单个值)

{
   
   
    "path": "\/api\/ou\/org\/tree",
    "data": [
        {
   
   
            "dLevel": "0",
            "isAble": "1",
            "city": null,
            "creatorId": null,
            "updateTime": 1615276836000,
            "remark": null,
            "sort": 0,
            "type": null,
            "parentId": "1",
            "dLevelCode": "000001",
            "province": null,
            "createTime": 1615276836000,
            "reviserId": null,
            "simpleName": "测试",
            "children": null,
            "tenantId": "",
            "name": "测试数据",
            "contactNumber": null,
            "id": "3f28875b7815fda40178160086c80008",
            "deptCode": "meritdata"
        }
    ],
    "success": true,
    "message": "成功",
    "stackmessage": null,
    "timestamp": 1620357542328,
    "status": 1,
    "extraInfo": {
   
   
    }
}
  • 如下所示,是一个提取单个值的示例。

在这里插入图片描述

6、提取(多个值)

  提取多个值得json内容和提取单个值得格式保持一致,多个之间分别用分号来隔开
JSON提取器提取多个值

样例数据

{
   
   
    "path": "\/api\/ou\/org\/tree",
    "data": [
        {
   
   
            "dLevel": "0",
            "isAble": "1"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值