python - Json.loads() 和 json.load() 不解析我的文件
问题描述
我试图解码我的 json 文件以删除一个对象,我总是收到以下错误:
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
我在很多网站上搜索过,有人有答案吗?
蟒蛇文件:
db = open(dbn + '.json', 'r') # dbn is defined earlier in the program
name = input('Profile to delete: ')
dbl = json.load(db) # <- json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
i = 0
while i != len(dbl):
if dbl[i]['First Name'] == name:
dbl.pop(i)
db.close()
db = open(dbn + '.json', 'w')
obj = json.dumps(dbl, indent=4)
db.write(obj + ',' + '\n' + ']')
db.close()
JSON 文件中没有错误。基本结构:
[
{ 'x':'y'
},
{ 'y':'x'
}
]
谢谢。
解决方案
您提供的 JSON 结构无效。
Python JSON 库需要双引号而不是单引号,因此您的 JSON 文件应如下所示:
[
{ "x":"y"
},
{ "y":"x"
}
]
推荐阅读
- swift - 如何将具有关联类型的协议与 ObservableObject 一起使用?
- android - 即使状态发生变化,我的可组合视图也不会自行重组
- python - 为什么这个递归函数返回None?
- javascript - Promise 没有捕捉到异步函数抛出的错误
- c# - 在表 'Jobs' 上引入 FOREIGN KEY 约束 'FK_Jobs_AspNetUsers_UserId' 可能会导致循环或多个级联路径
- c# - C# UDP 多人运动不连贯(不是因为插值)
- react-native - 如何在反应原生样式表中使用道具
- google-apps-script - 邮件在gmail中合并HTML电子邮件
- javascript - HTTPS 请求返回 getaddrinfo ENOTFOUND
- node.js - 在将数据保存到 Node.js webapp 中的数据库之前临时存储数据的最佳方法?