<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-avro</artifactId> <version>2.13.0</version> </dependency> json { "type": "record", "name": "User", "fields": [ {"name": "name", "type": "string"}, {"name": "age", "type": "int"} ] } import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.avro.AvroMapper; import com.fasterxml.jackson.dataformat.avro.AvroSchema; import java.io.File; import java.io.IOException; public class AvroSerializationExample { public static void main(String[] args) throws IOException { ObjectMapper mapper = new AvroMapper(); AvroSchema schema = mapper.schemaFrom(new File("user.avsc")); User user = new User("John Doe", 30); byte[] avroBytes = mapper.writer(schema).writeValueAsBytes(user); } } class User { private String name; private int age; public User() {} public User(String name, int age) { this.name = name; this.age = age; } } import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.avro.AvroMapper; import com.fasterxml.jackson.dataformat.avro.AvroSchema; import java.io.File; import java.io.IOException; public class AvroDeserializationExample { public static void main(String[] args) throws IOException { ObjectMapper mapper = new AvroMapper(); AvroSchema schema = mapper.schemaFrom(new File("user.avsc")); User user = mapper.readerFor(User.class).with(schema).readValue(avroBytes); } } class User { private String name; private int age; public User() {} public User(String name, int age) { this.name = name; this.age = age; } }


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