我正在使用Gson处理一个包含多个Json根元素的巨大 Json文件。 喜欢:
{"a": 1}
{"a": 2}
{"a": 3}
这些根元素之间有没有单独的逗号。
我知道它不是有效的格式,我无法控制此文件的格式,但我们可以根据需要编辑该文件。
目前我的解决方案是逐行读取文件并逐个解析。但我认为这不是每一项效率。
另一种解决方案是编辑文件并更改所有根元素,使它们位于Json数组中。但同样,我不认为这是一个好方法。我的档案很大。
有人可以帮我吗?如果有其他包可以解决这个问题。我很高兴转向那个。 感谢
答案 0 :(得分:0)
编写一个FilterInputStream
实现,插入顶级数组声明并插入逗号。然后,您可以将其传递给GSON进行解析。
如果文件非常庞大并且您无法在内存中保留生成的大型结构,则可以编写FilterInputStream
以将输入分解为较小但仍然有效的顶级块。
这里的可能性是无穷无尽的,但我认为某种FilterInputStream
将是一个很好的解决方案。