Python:解析串联的JSON

并且:

我有一个巨大的文件(大小为GB)。它具有一个串联的json,即背对背的几个JSON,没有定界符(甚至没有逗号或换行符)。

有人知道我可以以某种方式解析此方法吗?当串联中的第二个json到达时,json.load(fileobj)和json.loads(line)都失败,并显示“额外数据”错误。

如果该解决方案由于尺寸巨大而允许字符流传输,则更好,但这不是必需的。

编辑:串联的json是https://en.wikipedia.org/wiki/JSON_streaming#Concatenated_JSON_2

约翰·戈登(John Gordon):

逐字符读取文件,然后将结果写入文件。还要跟踪括号缩进级别。

每当您读取}使缩进级别为零字符时,您就已经读取了整个json对象。关闭文件,使用加载它json.load(),然后开始一个新文件。

但是,如果文件包含带引号或转义}字符,则此解决方案太幼稚,将无法工作;您将需要一个“真实的”解析器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章