我已经将一个 JSON 对象(由其他人生成,在我无法访问的代码中)写入一个名为 的文件kommscache.json
,现在我正尝试在 Python 中再次读取它。
这就是我所做的:
import json
from pprint import pprint
with open('kommscache.json') as data_file:
data = json.load(data_file)
pprint(data)
在调用 时json.load()
,我收到以下错误消息:
Traceback (most recent call last):
File "./kladd.py", line 7, in <module>
data = json.load(data_file)
File "/usr/lib/python2.7/json/__init__.py", line 280, in load
**kw)
File "/usr/lib/python2.7/json/__init__.py", line 328, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 381, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 1 (char 1)
JSON 文件的前几行如下所示(我也尝试了非漂亮打印的版本,结果相同):
{u'filtered': 458,
u'items': [{u'comment_count': 0,
u'current_revision': {u'created_by': {u'avatar': 19435601,
不幸的是,我无法向您展示整个文件,因为它包含一些敏感数据(并且长度超过 6000 行......),但如果我正确读取错误消息,则错误已经在文件的开头。但是,我不明白为什么这个 JSON 语法不正确。我已经仔细检查过,这个片段中的所有大括号和方括号都有匹配的右括号。
为什么我不能加载这个 JSON 对象?