public class MyData { private String field1; private int field2; } @AvroSchema("{\"type\": \"record\", \"name\": \"MyData\", \"fields\": [{\"name\": \"field1\", \"type\": \"string\"}, {\"name\": \"field2\", \"type\": \"int\"}]}") public class MyData { ... } ObjectMapper mapper = new ObjectMapper(new AvroFactory()); byte[] avroBytes = mapper.writerFor(MyData.class).writeValueAsBytes(myData); MyData deserializedData = mapper.readerFor(MyData.class).readValue(avroBytes); <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-avro</artifactId> <version>2.13.0</version> </dependency> AvroSchemaGenerator gen = new AvroSchemaGenerator(); mapper.acceptJsonFormatVisitor(MyData.class, gen); AvroSchema schema = gen.getGeneratedSchema(); AvroMapper avroMapper = new AvroMapper(); avroMapper.schemaFrom(schema); mapper.setMapper(avroMapper);


上一篇:
下一篇:
切换中文