常用jsonpath语句

我们在日常进行测试过程中,常常有用到提取参数或使用断言的情况,在此列举了一些常用的jsonpath语句,供大家参考:
首先我们需要一个初始json语句如下:

{
    "code":0,
    "message":"成功",
    "data":{
        "id":5431,
        "key":"guide_approval_num_1025",
        "value":3,
        "created_at":"2022-12-14 10:48:08"
    },
    "firstName":"John",
    "lastName":"doe",
    "age":26,
    "address":{
        "streetAddress":"naist street",
        "city":"Nara",
        "postalCode":"630-0192"
    },
    "phoneNumbers":[
        {
            "type":"iPhone",
            "number":"0123-4567-8888"
        },
        {
            "type":"home",
            "number":"0123-4567-8910"
        }
    ]
}

常用

1.获取message的值:$.message或message

在这里插入图片描述

2.获取data里的id:$.data.id或data.id

在这里插入图片描述

3.获取data里的所有的value:$.data.或data.

在这里插入图片描述

4.获取phoneNumbers列表下第一条数据下的type:$.phoneNumbers[0].type

在这里插入图片描述

5.获取phoneNumbers列表下的所有type:$.phoneNumbers[*].type

在这里插入图片描述

进阶

1.获取phoneNumbers列表下倒数第一个type:$.phoneNumbers[-1:].type

与切片类似,若要获取倒数第二个至第一个则为:$.phoneNumbers[-2:0].type,注意区间为左闭右开,0可省略
在这里插入图片描述

2.获取phoneNumbers数组长度:$.phoneNumbers.length

在这里插入图片描述

3.断言phoneNumbers数组返回值中是否存在number字段:$.phoneNumbers[?(@.number)]

可断言其返回值不为空
在这里插入图片描述

4.断言phoneNumbers数组返回值中是否存在number为"0123-4567-8888"的字段:$.phoneNumbers[?(@.number==“0123-4567-8888”)]

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有被蠢哭到

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值