我们在日常进行测试过程中,常常有用到提取参数或使用断言的情况,在此列举了一些常用的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)]
可断言其返回值不为空