<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.12.5</version>
</dependency>
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
import java.io.IOException;
public class Person {
private String name;
private int age;
@JsonCreator
public Person(@JsonProperty("name") String name, @JsonProperty("age") int age) {
this.name = name;
this.age = age;
}
// Getters and setters
public static void main(String[] args) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JaxbAnnotationModule());
Person person = new Person("John Doe", 30);
String json = objectMapper.writeValueAsString(person);
System.out.println(json);
Person deserializedPerson = objectMapper.readValue(json, Person.class);
System.out.println(deserializedPerson.getName());
System.out.println(deserializedPerson.getAge());
}
}
{"name":"John Doe","age":30}
John Doe
30