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

Tkinter密码管理器报json.decoder.JSONDecodeError错误求助

JSONDecodeError 问题排查与解决

这个报错和电脑硬件/系统无关,完全是代码逻辑或JSON文件本身的问题。json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 核心原因是Python尝试解析的内容是空的,或者不是合法的JSON格式。

常见原因及解决方法

  • 存储密码的JSON文件为空
    第一次运行程序、误删文件内容或异常退出都可能导致文件为空。

    • 找到代码中指定的JSON文件(比如data.json),打开后手动写入{}并保存,让它成为合法的空JSON对象。
    • 或者修改代码,在读取文件时增加异常处理和空内容判断,自动初始化空结构:
      import json
      
      def load_data():
          try:
              with open("data.json", "r") as f:
                  content = f.read().strip()
                  return json.loads(content) if content else {}
          except (FileNotFoundError, json.JSONDecodeError):
              return {}
      
  • JSON写入逻辑错误
    如果代码写入JSON时没有正确序列化字典,或写入过程被中断,会导致文件内容损坏。

    • 检查写入代码,确保使用json.dump()正确保存字典:
      def save_data(data):
          with open("data.json", "w") as f:
              json.dump(data, f, indent=4)
      
    • 避免在程序写入文件时强制关闭,确保写入操作完成。
  • 文件路径错误
    相对路径可能导致程序读取了错误目录下的空文件(自动创建的空文件)。

    • 打印文件实际路径确认:
      import os
      print(os.path.abspath("data.json"))
      
    • 改用绝对路径指定文件位置,比如C:/Users/你的用户名/Documents/data.json(Windows)或/Users/你的用户名/Documents/data.json(macOS)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:02:12