我有一些非常大的JSON文件(文件大小从几MB到几十GB不等),需要进行验证。通过验证,我的意思是我想知道这些文件是否确实是有效的JSON文件,或者它们是否包含语法错误。
一种常见的方法是使用json.load(file)
或json.loads(file)
并检查是否引发ValueError,但是,对于较大的文件,将JSON解析为Python对象需要花费很多时间-此外,需要大量的RAM。我曾考虑过使用某种正则表达式(或类似方法),但是由于JSON不是正则语言,所以我敢打赌这不会起作用。
那么,有什么方法可以有效地验证非常大的JSON文件的语法,而不必将整个文件作为对象加载?
编辑:类似的问题与读取此类文件有关,但我不想这样做,至少主要不是。我正在寻找的只是一种验证其语法的方法。
ijson的问题在于,除了一些示例并没有真正帮助之外,没有详细的文档。