Pytest刚开始的踩坑日记之如何获取并使用多层级下的某个数据

2023-12-28 14:34:13

又来记录我的白痴学习记录了

今天的问题是:

如何获取并引用多级下面的某个数据

因为本人Python基础比较差,但是白嫖的视频上只有当级的数据引用,但是实际项目中大多数所需要的数据都藏得比较深(我们家亲爱的各位开发大大就是各种层级[哭唧唧.jpg])

然后我就开始找办法,这边直接演示一下我现在用的json方法

例如我们刚刚get到的信息如下:

{
	"code": "200",
	"data": {
		"address": "",
		"appCode": "monkey",
		"createTime": "2023-12-26 16:00:12",
		"createUser": "sys",
		"headImgUrl": "",
		"id": 3964,
		"token": "3sXcXh8KnDGWdGGZZVey6Bmo7F5uAnMRFNjtQ9KdN7JcuH5Ph2moXwTwAqsLqg",
		"unSubscribeTime": null,
		"unionId": "",
		"updateTime": "2023-12-27 15:42:39",
		"updateUser": "",
		"users": [{
			"emergencyContactPhone": "",
			"grade": "",
			"gradeId": "",
			"headPic": "head_icon_whiteCat.png",
			"name": "宝*2",
			"nickname": "宝*2",
			"phoneNo": "",
			"playerId": "314",
			"syncRankStatus": 0,
			"syncRankTime": "2023-12-27 00:01:03",
			"teachType": "",
		}]
	},
	"message": "SUCCESS",
	"voice": ""
}
我们在下面的测试中都需要带上 playerId 这个值,但是它藏得好深
data{ users { playerId }}

首先我们要单独的拿到这个值

所以要知道这种层级的在python里面我们要怎么写

有两种方法

1.json格式提取

PlayerId = respose.json()['data']['users'][0]['playerId']

2.jsonpath提取

import jsonpath
PLayerId = jsonpath.jsonpath(respose.json(),'$.data.users[0].playerId')

因为刚学么? 我果断选了第一个,简单好理解!!

直接用上了

跑完后 欸? 成功拿到了

拿到了之后,我们就要开始想怎么开始用了

我们先试试直接用行不行

可见提示我们用不了

咦?我都单独拿到这个值了 为啥用不了嘞

提示为 “未解析的引用”,那我加个类试试

OK? 成功了

文章来源:https://blog.csdn.net/Name_ciel/article/details/135247804
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。