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

Python遍历JSON数据异常:返回单个字符,访问users键报错

解决Artblocks artists.json数据解析问题

问题根源

data['pageProps']['urqlState']['3369789927']['data'] 这个字段本质是JSON格式的字符串,不是已经解析好的字典对象。你打印时看到的是JSON结构,但Python还没把它转换成可直接操作的字典,所以用['users']这种字典索引访问时,会触发string indices must be integers的错误——因为字符串只能用整数下标取单个字符。

解决步骤

直接对这个嵌套的JSON字符串做二次解析,把它转成字典后再操作:

示例代码

import json
import requests

# 获取数据并保存
resp = requests.get("https://artblocks.io/artists.json")
raw_data = resp.json()
with open("artists_data.json", "w") as f:
    json.dump(raw_data, f)

# 加载保存的数据
with open("artists_data.json", "r") as f:
    loaded_data = json.load(f)

# 处理嵌套的JSON字符串
target_json_str = loaded_data['pageProps']['urqlState']['3369789927']['data']
# 二次解析成字典
target_dict = json.loads(target_json_str)

# 现在可以正常访问users字段了
for user in target_dict['users']:
    print(user['name'])  # 示例:打印艺术家名字

额外提示

  • 如果解析时报错,先打印target_json_str看看有没有格式问题(比如多余的转义字符)
  • 如果3369789927这个键是动态变化的,可以遍历urqlState的所有键,找到包含data字段的项再处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:10:26