Gson处理多个json根元素

时间:2016-05-23 15:46:38

标签: java json parsing gson

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

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

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

我知道它不是有效的格式,我无法控制此文件的格式,但我们可以根据需要编辑该文件。

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

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

有人可以帮我吗?如果有其他包可以解决这个问题。我很高兴转向那个。 感谢

1 个答案:

答案 0 :(得分:0)

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

如果文件非常庞大并且您无法在内存中保留生成的大型结构,则可以编写FilterInputStream以将输入分解为较小但仍然有效的顶级块。

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