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

Python读取JSON文件报JSONDecodeError: Expecting value问题求助

错误原因分析
  • 核心错误是你做了多余的二次JSON解析:json.load(file)已经将整个AccInformation.json文件的内容反序列化为Python对象,正常情况下users就是存储所有用户信息的列表,列表内的每个元素已经是解析完成的用户字典,不需要再做额外的JSON解析。
  • 循环内的user = json.load(user)属于完全错误的用法:json.load()要求输入的是文件类对象,但你传入的是已经解析好的字典,自然会触发JSON解析失败的报错,这就是你看到JSONDecodeError: Expecting value: line 1 column 1 (char 0)的直接原因。
修正后的代码
def loadUsers(self):
        # 检查文件是否存在
        if os.path.exists('AccInformation.json'):
            with open('AccInformation.json', 'r', encoding='utf-8') as file:
                users = json.load(file)
                # 移除多余的二次json.load调用,直接遍历解析好的用户字典
                for user in users:
                    newUser = Account(user_id = user['user_id'], firstName = user['first_name'], lastName = user['last_name'], 
                                      email = user['email'], username = user['username'], 
                                      password = user['password'], accountKEY = user['AccountKEY'])
                    
                    self.users.append(newUser)
                print(self.users)
        else:
            print("""'AccInformation' adlı Dosya bulunamadı.""")
额外排查点

如果修改后仍有相同报错,需要检查AccInformation.json是否为空文件,或者你写入JSON的逻辑是否有问题:写入时没有按照标准JSON数组格式存储,而是逐行写入了单个用户的JSON对象,这种情况需要调整读取逻辑为逐行读取,逐行使用json.loads()解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:12:03