0

我有一个用例将 JSON 数据转换为特定于 Avro 的记录。当我说 JSON 时,它是纯 JSON(不是由 Avro 生成的具有类型信息的)。我有 Avro Schema 及其生成的类。

当我尝试转换 using Avro 实用程序时,出现以下异常,

Expected start-union. Got VALUE_NUMBER_INT

如果 JSON 由 Avro 库生成,则 Avro 实用程序运行良好,因为它向其中添加了类型和联合信息。但是,在我的用例中,我有一个纯 JSON,没有其他服务生成的类型信息。

经过长时间的研究,我在 JIRA 中发现了未解决的问题 - https://issues.apache.org/jira/browse/AVRO-1582

上面的问题是关于通用用例的,但是,我有模式及其生成的类,那么当我有使用 Java 的模式时,是否有任何选项可以将 JSON 转换为 Avro 特定记录?

4

1 回答 1

0

您可以使用json-avro-converter 库。它在没有额外类型信息的情况下解码纯 json。

于 2022-02-17T20:30:50.493 回答