吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 680|回复: 15
收起左侧

[求助] json问题

[复制链接]
weilai911 发表于 2022-5-14 21:09
[Python] 纯文本查看 复制代码
r = '{
	"info": {
		"data": [{
			"activity_icon": "",
			"activity_type": "",
			"avatar": "jpg",
			"cover_url": "72595.jpg",
			"dress": "0",
			"hls_url": "cis60rhb65ed.m3u8",
			"host_intro": "兰博基尼",
			"host_uuid": "cis60rhb65ed",
			"hot": "54603.75",
			"is_follow": "0",
			"location": "1177",
			"nickname": "十二",
			"onlines": "888",
			"rank_icon": "",
			"rtmp_url": "cis60rhb65ed",
			"sex_type": "2",
			"status": "1",
			"stream_id": "cis60rhb65ed",
			"tag": ["歌手"],
			"title": "",
			"tv_room": "0"
		}, {
			"activity_icon": "",
			"activity_type": "",
			"jpg",
			"cover_url": "1636412638728.jpg",
			"dress": "0",
			"hls_url": "dk8tr4qspi9s.m3u8",
			"host_intro": "萌新求关照",
			"host_uuid": "dk8tr4qspi9s",
			"hot": "54445",
			"is_follow": "0",
			"location": "1912",
			"nickname": "神蜜人",
			"onlines": "757",
			"rank_icon": "",
			"rtmp_url": "dk8tr4qspi9s",
			"sex_type": "2",
			"status": "1",
			"stream_id": "dk8tr4qspi9s",
			"tag": ["舞蹈"],
			"title": "",
			"tv_room": "0"
		}],
		"extra": null
	},
	"response_status": "success",
	"msg": ""
}'
s = json.loads(r)
uuid =s['info']['data']['host_uuid']


提示 TypeError: list indices must be integers or slices, not str
只能uuid =s['info']['data'][0]['host_uuid'] 吗

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

知心 发表于 2022-5-14 21:29
r=直接是字典不行吗,为啥要加个单引号
 楼主| weilai911 发表于 2022-5-14 21:30
知心 发表于 2022-5-14 21:29
r=直接是字典不行吗,为啥要加个单引号

r 是 requests.get 返回的值 怎么当字典
知心 发表于 2022-5-14 21:33
weilai911 发表于 2022-5-14 21:30
r 是 requests.get 返回的值 怎么当字典

哦哦,你贴出来这部分数据来看的话没有必要么。只能uuid =s['info']['data'][0]['host_uuid'] 吗?是的,data是个列表,列表取值通过索引
 楼主| weilai911 发表于 2022-5-14 21:36
知心 发表于 2022-5-14 21:33
哦哦,你贴出来这部分数据来看的话没有必要么。只能uuid =s['info']['data'][0]['host_uuid'] 吗?是的, ...

那如何遍历这个列表
surepj 发表于 2022-5-14 21:42
知心 发表于 2022-5-14 21:29
r=直接是字典不行吗,为啥要加个单引号

第28行,只有一个“jpg“,没有键值对?,48行null是个变量吧。
data下是列表,uuid =s['info']['data']['host_uuid']这样也会报错吧
YuanFang0w0 发表于 2022-5-14 21:43
weilai911 发表于 2022-5-14 21:36
那如何遍历这个列表

For循环一下咯
 楼主| weilai911 发表于 2022-5-14 21:46
surepj 发表于 2022-5-14 21:42
第28行,只有一个“jpg“,没有键值对?,48行null是个变量吧。
data下是列表,uuid =s['info']['data'] ...

跟那个没关系
 楼主| weilai911 发表于 2022-5-14 21:50

我试for
[Python] 纯文本查看 复制代码
i=0
for uuid in uuid:
     i = i+1
    print(uuid)

这样出来的一个一个的单个字母
Semoon 发表于 2022-5-14 23:42
你那个报错,是返回的是个列表字典,需要指定索引号.
比如拿第一个uuid   ,
uuid =s['info']['data'][0]['host_uuid']
用 也可以用lambda加map去遍历直接得到列表
b=list(map(lambda x: x['host_uuid'],s['info']['data']))
print(b)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表