Qualcuno sa come com.fasterxml.jackson.databind.ObjectMapper è in grado di associare le proprietà JSON alle proprietà POJO senza distinzione tra maiuscole e minuscole?Mappatura da JSON a POJO senza distinzione tra maiuscole e minuscole senza cambiare il POJO
JSON-String:
[{"FIRSTNAME":"John","LASTNAME":"Doe","DATEOFBIRTH":"1980-07-16T18:25:00.000Z"}]
POJO-Classe:
public class Person {
private String firstName;
private String lastName;
private Date dateOfBirth;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Date getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
}
Test-Classe:
@Test
public final void testDeserializingPersonJsonToPersonClass()
throws JsonParseException, JsonMappingException, IOException {
final String jsonAsString = "[{\"FIRSTNAME\":\"John\",\"LASTNAME\":\"Doe\",\"DATEOFBIRTH\":\"1980-07-16T18:25:00.000Z\"}]";
final ObjectMapper mapper = new ObjectMapper();
final Person person = mapper.readValue(jsonAsString, Person.class);
assertNotNull(person);
assertThat(person.getFirstName(), equalTo("John"));
}
Questo finisce nel seguente errore:
com.fasterxml. jackson.databind.JsonMappingException: impossibile deserializzare l'istanza di ...
Non è possibile modificare né JSON-String né POJO-Class.
* Non è possibile modificare né JSON-String né POJO-Class *, allora non è possibile. –