<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.13.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.13.4</version>
</dependency>
</dependencies>
package org.typeschema.dto;
import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonSetter;
/**
* A simple student struct
*/
public class Student {
private String firstName;
private String lastName;
private Integer age;
@JsonSetter("firstName")
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@JsonGetter("firstName")
public String getFirstName() {
return this.firstName;
}
@JsonSetter("lastName")
public void setLastName(String lastName) {
this.lastName = lastName;
}
@JsonGetter("lastName")
public String getLastName() {
return this.lastName;
}
@JsonSetter("age")
public void setAge(Integer age) {
this.age = age;
}
@JsonGetter("age")
public Integer getAge() {
return this.age;
}
}
package org.typeschema.dto;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.nio.file.Files;
import java.nio.file.Path;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
String input = Files.readString(Path.of("./input.json"));
ObjectMapper objectMapper = (new ObjectMapper())
.findAndRegisterModules()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Student student = objectMapper.readValue(input, Student.class);
String output = objectMapper.writeValueAsString(student);
Files.write(Path.of("./output.json"), output.getBytes());
}
}