当您尝试打开json文件时,会出现此错误
Traceback (most recent call last):
File "C:\Users\vlad0\AppData\Roaming\Python\Python36\site-packages\discord\client.py", line 227, in _run_event
await coro(*args, **kwargs)
File "c:\Users\vlad0\Desktop\bot\bot.py", line 577, in on_message
info = json.load(open('servers/'+str(server)+'/reports/'+str(user["MaxRepID"])+'/info.json'))
File "C:\py36\lib\json\__init__.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "C:\py36\lib\json\__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "C:\py36\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\py36\lib\json\decoder.py", line 355, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 18 (char 19)
这是打开它的代码(路径是正确的)
info = json.load(open('servers/'+str(server)+'/reports/'+str(user["MaxRepID"])+'/info.json'))
json文件
{
"Channel": "", /* ID */
"Created": "", /* Date */
"Author": "", /* who created */
"Is_closed": "False",
"Is_open": "False",
"Is_deleted": "False"
}
如您所见,不会跳过双括号,但错误是什么?
我认为JSON文件中不允许使用C风格的注释(至少Python JSON解析器不允许这样做),所以请尝试删除它们。
编辑:正如@Marcus在评论中所建议的,this question有一些选项可用于解析包含注释的JSON文件,包括使用jsmin,jstyleson和jsoncomment等软件包,它们都在PyPI上并可通过pip安装。