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

在Python Django中从API的JSON响应提取数据并实现页面跳转

从Coinbase API响应提取字段并实现重定向

步骤1:解析JSON响应

先把API返回的文本转换成可操作的JSON对象(字典/哈希表),以Python的requests库为例,替换原本打印响应文本的逻辑:

import requests

# 你的API调用代码
api_url = "https://api.coinbase.com/v2/charges"
headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
payload = {"name": "你的商品", "description": "商品描述", "local_price": {"amount": "10.00", "currency": "CNY"}}

response = requests.post(api_url, json=payload, headers=headers)

# 解析JSON响应(替代print(response.text))
response_data = response.json()

步骤2:安全提取目标字段

Coinbase的Charge响应中,hosted_url和code嵌套在data节点下,用安全访问方式提取,避免字段不存在导致报错:

# 提取hosted_url和code,优先取hosted_url
hosted_url = response_data.get("data", {}).get("hosted_url")
code = response_data.get("data", {}).get("code")
redirect_target = hosted_url or code

步骤3:实现页面重定向

根据你使用的后端框架,选择对应的重定向方式:

Flask(Python)

from flask import redirect

if redirect_target:
    return redirect(redirect_target)
else:
    return "无法获取跳转链接", 500

Express(Node.js)

// 假设已将API响应解析为responseData
const hostedUrl = responseData?.data?.hosted_url;
const code = responseData?.data?.code;
const redirectTarget = hostedUrl || code;

if (redirectTarget) {
    res.redirect(redirectTarget);
} else {
    res.status(500).send("无法获取跳转链接");
}

关键注意事项

  • 必须处理字段不存在的情况,用get方法(Python)或可选链?.(JS)避免程序崩溃。
  • 确认API权限配置正确,沙箱环境和生产环境的响应结构一致,但调用域名不同。
  • 不要在前端直接调用Coinbase API,避免暴露API密钥,建议通过后端代理请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:50:46