You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Facts API获取特定内容:如何仅输出fact字段内容

正确提取fact字段的方法

首先明确API返回的是包含单个字典的列表,解析时需要注意层级结构:

错误原因分析

  • response.fact无效:response是requests库的Response对象,本身没有fact属性,必须先将返回的JSON字符串解析为Python对象才能访问字段。
  • json.load(response.json())报错:response.json()已经把JSON转换成了Python列表,而json.load()的参数需要是可读取的文件对象,不能直接传入列表,因此触发AttributeError。

正确代码示例

import requests

limit = 1
api_url = 'https://api.api-ninjas.com/v1/facts?limit={}'.format(limit)
response = requests.get(api_url, headers={'X-Api-Key': API_KEY})

# 解析JSON为Python列表
data = response.json()
# 取列表第一个元素(字典),再提取fact字段
print(data[0]['fact'])

补充说明

如果limit设置大于1,返回的列表会包含多个字典,可通过循环遍历获取每个fact:

data = response.json()
for item in data:
    print(item['fact'])

内容的提问来源于stack exchange,提问作者illy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:22:01