<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.12.5</version>
</dependency>
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.5'
implementation 'com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.5'
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
import java.io.File;
import java.io.IOException;
public class User {
@JsonProperty("name")
private String name;
@JsonProperty("age")
private int age;
// getters and setters
public static void main(String[] args) {
User user = new User();
user.setName("John");
user.setAge(25);
ObjectMapper mapper = new ObjectMapper();
JaxbAnnotationModule module = new JaxbAnnotationModule();
mapper.registerModule(module);
try {
mapper.writeValue(new File("user.json"), user);
User deserializedUser = mapper.readValue(new File("user.json"), User.class);
System.out.println(deserializedUser.getName());
System.out.println(deserializedUser.getAge());
} catch (IOException e) {
e.printStackTrace();
}
}
}