我已经将一个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()
时,我收到以下错误消息:
JSON文件的前几行如下所示(我也尝试过非预打印版本,结果相同):
{u'filtered': 458,
u'items': [{u'comment_count': 0,
u'current_revision': {u'created_by': {u'avatar': 19435601,
不幸的是,我无法显示整个文件,因为它包含一些敏感数据(它超过6000行…),但是如果我正确地读取错误消息,错误已经在文件的开头。但是,我不明白为什么这个JSON语法不正确。我仔细检查过了,这个片段中所有的大括号和方括号都有匹配的右括号。在
为什么我不能加载这个JSON对象?在
这不是一个JSON文件。它似乎是一个只需编写Python字典的字符串版本就可以创建的文件。虽然格式相似,但并不相同。在
您应该显示创建文件的代码。您需要使用
json.dump(data)
,而不是简单地调用str()
。在您保存了python对象的文本表示,不是JSON。在
您可以用^{} 来解码这些代码,但您可能希望修复JSON编写的代码。请确保在保存时在结构上使用
json.dumps()
。在使用
ast.literal_eval()
(关闭所有大括号后):相关问题 更多 >
编程相关推荐