【问题标题】:How to covert Json to a Java Object auto-generated from Avro Schema [closed]如何将 Json 转换为从 Avro Schema 自动生成的 Java 对象 [关闭]
【发布时间】:2020-11-12 18:23:24
【问题描述】:

我正在尝试在我的代码中将 JSON 字符串转换为 Java 对象。 java 对象是从 AVRO 模式自动生成的类的实例。有谁知道如何进行这种转换? 以下是我迄今为止尝试过的一些事情,但没有成功。

我曾尝试使用 Jackson 库中的 ObjectMapper 类将 json 转换为目标 java 对象,但 ObjectMapper 在转换过程中失败。

我尝试了扩展 ObjectMapper 的 AvroMapper,它是 jackson-dataformats 库的一部分,但不知道如何使用它将 json 转换为 avro 生成的对象。

我注意到每个自动生成的 Avro Java 类都有一个名为“fromByteBuffer()”的方法,我尝试使用该方法也希望如果我将我的 json 作为 java.nio.ByteBuffer 传递给该方法,那么它会给我一个 Object 的实例。

谢谢

【问题讨论】:

  • 展示你的尝试,并展示它是如何失败的。请在编辑问题之前阅读此内容:How to create a Minimal, Reproducible Example。基本上,您需要 编辑 问题并向我们展示该类的 reduced 版本、您尝试映射到该类的 JSON、您正在使用的代码这样做,并显示你得到的错误,完整的堆栈跟踪。

标签: java json avro


【解决方案1】:

AvroMapper 应该具有从ObjectMapper 类继承的各种 readValue 方法。尝试使用其中之一并提供课程。

avroMapper.readValue(json, Car.class);

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 1970-01-01
    • 2017-04-08
    • 2015-08-03
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    相关资源
    最近更新 更多