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

Flask使用解析后的JSON调用第三方API报错如何解决?

问题原因及修复方案

1. 代码执行顺序问题

return语句是Python函数的终止标识,一旦运行到return行,函数会直接返回结果,后面的所有代码都不会被执行。这就是你把buy(data)放在return之后没有任何反应的原因。

2. 类型不匹配报错问题

你获取到的data是列表类型,而你写的buy函数中使用了只有字典才有的keys()方法,列表不存在该方法,因此触发AttributeError: 'list' object has no attribute 'keys'报错。除此之外你的buy函数还存在两个语法/逻辑问题:

  • 未定义product变量就直接传入api.submit_order调用
  • api.submit_order调用后缺少右括号,print语句缩进错误

修复后的代码

接口逻辑调整

@site.route('/data', methods=['POST']) 
def parse_request(): 
    data = request.get_json()
    print(data)
    buy(data) # 调整到return语句之前执行
    return jsonify(success=True)

buy函数适配调整

def buy(data):
    # 直接遍历列表中的每个商品字典
    for item in data:
        product_id = item['id']
        product = item['product']
        quantity = item['quantity']
        # 调用第三方API,注意如果接口要求数量为数字类型,可转成int(quantity)
        api.submit_order(
            product=product,
            quantity=quantity
        )
        print(f"Submitted order for {quantity} piece(s) of {product}(s)")
    return

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:15:01