我使用本地JSON文件作为伪数据库,我正在编写一个连接类来与它进行交互。我收到了JSON解码错误:
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
尝试将文件读入变量时
我在db.py中有以下类:
import json
class DBconnect:
def __init__(self, filename):
self.dbfile = open(filename, 'r+')
def __read(self):
return json.load(self.dbfile) # line that stacktrace lands on
json文件中的数据:
{"key": {"1": {}}, "keyTwo": {"1": {}}}
我还创建了一个测试程序,它读取没有类的json文件,但我没有收到错误。它按照预期生成Python dict。
是否是导致此问题的类中的实现?
答案 0 :(得分:0)
我发现了正在发生的事情。我在错误发生之前在另一个函数中调用__read(),因此文件位置在文件的末尾。我补充说:
self.dbfile.seek(0)
在返回语句之前并修复了问题