Python如何从接口返回的JSON对象中仅提取需要的属性值
解决方法
json.loads()解析接口返回内容后得到的是标准Python字典,不需要手动处理字符串移除键名、裁剪多余字段,直接通过键名索引就能提取目标值。
修改后的代码:
import requests import json def get_fact(): catFact = requests.get("https://catfact.ninja/fact?max_length=140") json_data = json.loads(catFact.text) # 直接返回字典中fact键对应的内容 return json_data['fact'] print(get_fact())
运行后输出就是纯文本内容,格式类似:
Cats are the world's most popular pets, outnumbering dogs by as many as three to one
注意事项:
- 不要用字符串截取的方式处理这类结构化返回数据,一旦接口返回的字段顺序、格式有微调,截取逻辑就会失效,按字典键取值是最稳定的方案
- 如果后续拿到完整的返回字典,随时可以通过
字典变量名['fact']的方式单独取出fact字段值,不会带出length字段内容
内容的提问来源于stack exchange,提问作者DrippyDino
相关产品推荐
相关产品推荐

