我正在使用Gson处理包含多个Json根元素的巨大Json文件。
喜欢:

{"a": 1}
{"a": 2}
{"a": 3}


这些根元素之间没有单独的逗号。

我确实知道这不是有效的格式,并且无法控制此文件的格式,但是如果需要,我们可以编辑该文件。

目前,我的解决方案是逐行读取文件并逐一解析它们。但是我认为这并不是每一个效率。

另一个解决方案是编辑文件并更改所有根元素,以使其位于Json数组中。但是再次,我认为这不是一个好方法。我的档案很大。

有人可以帮我吗?如果有其他包装可以解决这个问题。我很高兴切换到该位置。
谢谢

最佳答案

编写一个FilterInputStream实现,该实现将插入顶级数组声明并插入逗号。然后,您可以将其传递给GSON进行解析。

如果文件确实很大,并且您无法在内存中保留最终的大结构,则可以编写FilterInputStream将输入分成较小但仍有效的顶级块。

这里的可能性是无限的,但我认为某种FilterInputStream将是一个好的解决方案。

10-06 06:35