【问题标题】:Why does the python JSON module show the error : json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)为什么 python JSON 模块显示错误:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
【发布时间】:2020-03-30 19:07:51
【问题描述】:

JSON 模块有问题。我不知道为什么这是一个错误:

with open('Book Store Data','r+') as file:
    print(json.load(file))
    json_contents = json.load(file)

我不明白为什么第 3 行显示错误:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 但打印它很好。我正在阅读的文件只是一个测试:

[{"name": "George", "degree": "Coding"}, {"name": "Connor", "degree": "Science"}]

【问题讨论】:

  • json.decoder.JSONDecodeError 将停止您的代码。结束。你没有展示什么。 “但打印没问题”
  • 您有一个 json 列表,而不是文件中的 json。这不会被读取,您应该使用 readlines() 并尝试处理它。
  • 为什么它可以打印,但不能分配给变量?我还应该补充一点,将整个列表放在 JSON 中并不能解决问题。

标签: python json


【解决方案1】:

您第一次调用json.load 已到达文件末尾。首先将它分配给一个变量,然后打印它。否则,在调用json.load 之间调用file.seek(0)

【讨论】:

  • 谢谢!我在添加打印语句之前遇到了错误,但自从我添加打印后我必须修复该错误,然后打印又犯了一个错误!
猜你喜欢
  • 2021-06-11
  • 1970-01-01
  • 2018-11-12
  • 2020-12-04
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多