为什么python JSON模块显示错误:JSON.decoder.JSONDecodeError:期望值:第1行第1列(char 0)

为什么python JSON模块显示错误:JSON.decoder.JSONDecodeError:期望值:第1行第1列(char 0),python,json,Python,Json,我对JSON模块有问题。我无法找出这是一个错误的原因: with open('Book Store Data','r+') as file: print(json.load(file)) json_contents = json.load(file) 我不明白为什么第三行显示错误:json.decoder.jsondecoderror:期望值:第1行第1列(字符0) 但是打印它很好。我正在读取的文件只是一个测试: [{"name": "George", "degree": "C

我对JSON模块有问题。我无法找出这是一个错误的原因:

with open('Book Store Data','r+') as file:
    print(json.load(file))
    json_contents = json.load(file)
我不明白为什么第三行显示错误:json.decoder.jsondecoderror:期望值:第1行第1列(字符0) 但是打印它很好。我正在读取的文件只是一个测试:

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

通过第一次调用
json.load
,您已经到达了文件的末尾。首先将其分配给变量,然后打印它。否则,在调用
json.load
json.decoder.JSONDecodeError
之间调用
file.seek(0)
,将停止代码。结束。你没有表现出什么。“但是打印它很好”您有一个json列表,而不是文件中的json。这不会被读取,您应该使用readlines()并尝试处理它。为什么它可以打印,但不能分配给变量?我还应该补充一点,将整个列表放在JSON中并不能解决这个问题。谢谢!在添加print语句之前,我遇到了一个错误,但我必须修复这个错误,因为我添加了print,然后print又出现了另一个错误!