我遇到的问题是,由于解析失败,JSON Avro解码允许根级别上的其他字段累进,而在内部记录上不允许它们。在当前的项目中,我们要求不能删除任何数据,这意味着我需要以某种方式找到解决方案。
请参见以下代码示例https://gist.github.com/GrafBlutwurst/4d5c108b026b34ce83d2569bc8991b3d (Avro 1.8.2)
有人知道AVRO Parser或类似的东西是否有“严格”模式吗?该票证似乎也与之链接https://issues.apache.org/jira/browse/AVRO-2034
谢谢!
编辑:经过更多研究,似乎有PR可以解决此问题 https://github.com/apache/avro/pull/321,但仅适用于红宝石
编辑II:它很可能似乎是一个解析器错误,它不仅在嵌套对象中,而且在字符串包含多个json对象而第一个包含其他字段时也是一个问题。有一种drain
方法应该从堆栈中的令牌中弹出来,但似乎不起作用。因为当前的解析位置在进入时(堆栈顶部)始终为1,但我还不知道为什么。