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

树莓派编程入门:从Scryfall API提取JSON数据遇阻求助

树莓派Python API数据提取问题修复

原代码存在的问题

  • URL拼接语法错误:Python中字符串与变量不能直接拼接,需使用格式化方式
  • 未定义json_array变量:Scryfall该接口返回单张卡片的JSON对象,而非数组,无需循环遍历
  • 冗余的JSON解析:requests响应对象自带.json()方法,可直接获取解析后的字典,无需手动转文本再json.loads()

修正后的代码

import requests

setname = "xln"      # 系列ID
cardid = "96"        # 卡片在系列中的专属ID

# 用f-string正确拼接API请求URL
response = requests.get(f'https://api.scryfall.com/cards/{setname}/{cardid}.json')
# 直接用response.json()获取解析后的字典数据
card_data = response.json()

# 提取目标字段,处理字段可能不存在的情况(避免KeyError)
card_details = {
    "color_identity": card_data.get("color_identity", []),
    "colors": card_data.get("colors", []),
    "eur": card_data.get("eur", "无欧元定价")
}

print(card_details)

代码说明

  1. 使用f-string拼接URL,保证语法正确且可读性高
  2. response.json()自动完成JSON解析,省去手动处理文本的步骤
  3. 使用字典的.get()方法提取字段,当字段不存在时返回预设默认值,避免程序报错
  4. 由于接口返回的是单张卡片数据,无需循环,直接提取即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:14:59