使用python访问大型JSON文件获取错误:raise common.JSONError(';附加数据';)
我正在使用ijson包解析一个大型JSON数据集(5GB),并得出以下错误使用python访问大型JSON文件获取错误:raise common.JSONError(';附加数据';),python,json,Python,Json,我正在使用ijson包解析一个大型JSON数据集(5GB),并得出以下错误 Traceback (most recent call last): File "subreddit_name.py", line 9, in <module> for prefix, event, value in parser: File "/usr/local/lib/python2.7/dist-packages/ijson/common.py", line 65, in parse for
Traceback (most recent call last):
File "subreddit_name.py", line 9, in <module>
for prefix, event, value in parser:
File "/usr/local/lib/python2.7/dist-packages/ijson/common.py", line 65, in
parse
for event, value in basic_events:
File "/usr/local/lib/python2.7/dist-packages/ijson/backends/python.py",
line 192, in basic_parse
raise common.JSONError('Additional data')
ijson.common.JSONError: Additional data
我的json块如下所示:
{“subreddit”:“语言学习”,“家长id”:“t1_cn9nn8v”,“检索日期”:1425123427,“ups”:1,“作者天赋”css_类“:“镀金”:0,“作者天赋”文本“:“Lojban(N)”,“争议性”:0,“subreddit id”:“t5_2rjsc”,“编辑”:假,“分数隐藏”:假,“链接id”:“t3_2qulql”,“名称”:“t1_cnau2yv”,“创建日期”:“1420074627”,“正文”:“utc”:“我和日本的Duolingo玩了一段时间,基本上如果你不够流利,你什么都学不到。\n\n正如下面所说,唯一真正存在的是中国人的技能。”,“id:“cnau2yv”,“杰出的”:null,“存档的”:false,“作者”:“Pennwisedom”,“分数”:1}
有人知道这个错误的原因和解决方法吗?
非常感谢您的帮助。谢谢您的json文件是单个json对象,还是有多个json对象需要解码?如果其中有多个对象,您可以将它们包装在一个列表中(在“[”前面加上“]”,必要时加上逗号)看看这是否有效。@Simon Fraser只有一个json对象。检查Simon point:我认为你的编码不好(unescape错误)。@dsgdfg我在python或json方面都不好,所以你能告诉我如何检查Simon point吗?检查你的库(backens/python.py):行:104在
parse_value
python上不允许null
,可以接受的“null”或的“null”
。您使用了的“distributed”:null,
null在这里是一个变量(不是一个真正的None
).@Sherlock您的json文件是一个json对象,还是有多个json对象需要解码?如果其中有多个对象,您可以将它们包装在一个列表中(在“[”前面加上“]”,必要时加上逗号)看看这是否有效。@Simon Fraser只有一个json对象。检查Simon point:我认为你的编码不好(unescape错误)。@dsgdfg我在python或json方面都不好,所以你能告诉我如何检查Simon point吗?检查你的库(backens/python.py):行:104在parse_value
python上不允许null
,可以接受“null”
或“null”
。您使用了“distributed”:null,
null在这里是一个变量(不是一个真正的None
)。@Sherlock
import ijson
file_name="/media/RC_2015-01"
with open(file_name) as file:
parser = ijson.parse(file)
for prefix, event, value in parser:
if prefix=="subreddit":
print value