如何将Python requests模块GET响应的字符串解析为列表?
解决方法
你遇到的问题是因为response.text是JSON格式的字符串,直接用list()转换会把字符串拆成单个字符的列表。正确的做法是把JSON字符串解析为对应的Python数据结构,以下是两种简单可行的方式:
方法一:使用requests内置的json()方法
这是最便捷的方式,requests已封装好JSON解析功能:
import requests url = "https://backend-omega-seven.vercel.app/api/getjoke" response = requests.get(url) # 直接将响应解析为Python列表(服务器返回的是包含字典的列表) joke_list = response.json() # 提取列表中的笑话对象 joke = joke_list[0] print("问题:", joke["question"]) print("笑点:", joke["punchline"])
方法二:使用标准库json模块
如果需要更灵活的解析配置,可以用json模块手动解析:
import requests import json url = "https://backend-omega-seven.vercel.app/api/getjoke" response = requests.get(url) # 将JSON字符串解析为Python列表 joke_list = json.loads(response.text) # 提取笑话内容 joke = joke_list[0] print("问题:", joke["question"]) print("笑点:", joke["punchline"])
两种方法都能得到服务器返回的实际列表结构,之后你就可以通过键名轻松提取笑话的问题和笑点了。
内容的提问来源于stack exchange,提问作者JohnnySinus
相关产品推荐
相关产品推荐

