result = []
u = False
b = False
i = False
t = False
for prefix, event, value in ijson.parse(open("./docs.txt", "rb")):
if(prefix == 'item.url'):
url = value
u = True
elif(prefix == 'item.body'):
body = value
b = True
elif(prefix =='item.doc_id'):
doc_id = value
i = True
elif(prefix == 'item.title'):
title = value
t = True
if u and b and i and t:
numofDocs = numofDocs +1
u = False
b = False
i = False
t = False
result.append({'doc_id': doc_id, 'url': url, 'title' : title, 'body' : body})
如果知道JSON的结构,就可以在解析时动态地构建它。我在解析大约3gb的json时遇到了这个问题。虽然不漂亮,但很管用。在
因此,每个对象都有一个url、一个主体、一个doc_id和一个标题。对于每个解析的项(前缀),我确定它是什么类型的,并注意到我们有一个bool。当找到所有对象后,我将其添加到一个数组中,该数组最终将包含JSON中的所有对象。在
相关问题 更多 >
编程相关推荐