I am having a question with Jackson that I think should be simple to solve, but it is killing me.
Let’s say I have a java POJO class that looks like this (assume Getters and Setters for me):
class User {
private String name;
private Integer age;
}
And I want to deserialize JSON that looks like this into a User object:
{
"user":
{
"name":"Sam Smith",
"age":1
}
}
Jackson is giving me issues because the User is not the first-level object in the JSON. I could obviously make a UserWrapper class that has a single User object and then deserialize using that but I know there must be a more elegant solution.
How should I do this?
edit: this solution only works for jackson < 2.0
For your case there is a simple solution:
@JsonRootName(value = "user");om.configure(Feature.UNWRAP_ROOT_VALUE, true);(as for 1.9) andom.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);(for version 2).That’s it!
this will print: