我的应用与我的应用位于同一目录中,其中有一个json
文件,在其中我已保存了一些名称和密码。当用户单击一个按钮时,我试图检索这些数据并将其与他提供的输入进行比较。但是,出现编码错误
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
我尝试添加errors='ignore'
并更改编码,但没有成功。
我的登录功能可打开json
文件:
def login(name,password):
with open('data.json', 'r', encoding='utf-8', errors='ignore') as f:
try:
data = json.loads(f.read())
#data = json.load(f) didnt work also
print(data)
except ValueError: # includes simplejson.decoder.JSONDecodeError
print('Decoding JSON has failed')
return False
f.close()
这是在我的Django应用中
def test(request):
if request.method == 'POST':
given_name = request.POST.get('name', None)
given_password = request.POST.get('pass', None)
# do something with user
if login(given_name, given_password):
about(request)
else:
test_home(request)
....
Json文件:
{
"names": [
"test",
],
"passwords": [
"test",
]
}
答案 0 :(得分:3)
尝试修改我在评论中指出的json文件;
{
"names": [
"test"
],
"passwords": [
"test"
]
}
现在你应该得到
with open(file) as f:
data = json.load(f)
data
Out[5]: {'names': ['test'], 'passwords': ['test']}