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

Python新手求助:如何处理API返回的带b'前缀的响应数据?

解决Python请求API返回bytes数据无法操作的问题

嘿,别担心!刚接触Python API调用遇到这个问题很正常,我来一步步帮你搞定~

首先说那个b'前缀:它表示你拿到的是bytes类型(二进制字节数据),不是直接能用来做字典操作的Python数据结构。HTTP接口返回的原始数据都是二进制流,所以response.content会直接返回这种字节形式的内容。

那怎么把它转成我们能操作的列表/字典呢?其实requests库已经给我们准备好了超级方便的方法,不用自己手动解码再转JSON,直接用response.json()就可以了!

完整示例代码

import requests

# 发送请求
response = requests.get('https://api.coingecko.com/api/v3/finance_products')

# 先确认请求是否成功(状态码200表示成功)
if response.status_code == 200:
    # 直接将响应转换成Python的列表(因为返回的是JSON数组)
    finance_products = response.json()
    
    # 现在就可以像操作普通列表和字典一样使用了
    # 比如获取第一个产品的平台名称和收益率
    first_product = finance_products[0]
    print(f"平台:{first_product['platform']}")
    print(f"年化收益率:{first_product['supply_rate_percentage']}%")
else:
    print(f"请求出错啦,状态码:{response.status_code}")

额外说明

如果你好奇手动转换的方式也可以这么做(不过还是推荐上面的方法更省心):

  1. 先用decode('utf-8')把bytes转成JSON字符串:json_str = response.content.decode('utf-8')
  2. 再用json模块把字符串转成Python数据结构:
import json
finance_products = json.loads(json_str)

这样处理后,你就能随意访问里面的字段、做数据筛选或者分析啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 19:02:37