Maven:
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-avro</artifactId>
<version>2.9.10</version>
</dependency>
Gradle:
groovy
dependencies {
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-avro:2.9.10'
}
json
{
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{"name": "age", "type": "int"}
]
}
ObjectMapper objectMapper = new ObjectMapper(new AvroFactory());
Schema schema = new Schema.Parser().parse(new File("user.avsc"));
User user = new User("John Doe", 25);
byte[] serializedData = objectMapper.writer(schema).writeValueAsBytes(user);
User deserializedUser = objectMapper.reader(schema).forType(User.class).readValue(serializedData);