我有一个非常大的json,可以读取并存储到数据库中。我正在使用gson的流和对象的混合模式。如果文件格式正确,它将像超级按钮一样工作。但是如果对象中的格式不正确,则会跳过整个文件,并引发一个异常(reader.hasNext()引发异常)。
是否可以跳过特定的不良记录并继续读取其余文件?
示例json文件结构- [{ “ A”:1, “ B”:2, “ C”:3 }] 并说这个对象中缺少逗号或冒号。
另一个示例是,如果有多个对象,而}(无逗号){2个对象之间缺少逗号。
答案 0 :(得分:0)
让此对象中缺少逗号或冒号
不幸的是,如果您缺少逗号或冒号,则无法解析JSON数据。
但是: 解析器不接受此数据实际上是一件好事,因为它可以防止您意外读取垃圾。由于您将这些数据放入数据库中,因此可以防止您用垃圾填满数据库。
我认为最好的解决方案是修复此JSON数据的生产者并实施必要的安全防护措施,以防止将来出现不良JSON数据。