You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python提取JSON文件name字段时出现Expecting value: line 1 column 1 (char 0)错误的解决方法

解决JSON提取"name"字段的报错问题

嘿,你的代码有两个关键问题导致了这个错误,我帮你一步步修正:

错误1:混淆了json.load()json.loads()的用法

你用了json.loads('data.json'),但loads()是用来解析JSON格式的字符串的,而你要读取的是本地JSON文件,应该用json.load(),并且需要先打开文件对象。另外,你把模块名json赋值给了变量json,这会覆盖原有的模块,后续再调用模块方法会出问题,建议换个变量名比如data

错误2:访问"name"字段的路径不对

从你的JSON结构来看,name是嵌套在Profile对象里的,不是直接在accounts的value下,所以得先拿到Profile再取name

修改后的完整代码

import json

# 打开并加载JSON文件
with open('data.json', 'r') as f:
    data = json.load(f)

# 遍历accounts下的所有账户对象
for account_value in data["accounts"].values():
    # 访问Profile里的name字段
    print(account_value["Profile"]["name"])

代码说明

  • with open(...)是Python安全打开文件的方式,会自动帮你关闭文件。
  • json.load(f)读取文件对象并解析成Python字典。
  • 遍历data["accounts"].values()拿到每个账户的详情,再通过["Profile"]["name"]获取目标字段。

这样修改后,就能正确输出random name啦~

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

火山引擎 最新活动