parbi
parbi

Reputation: 553

convert json to object using jackson

I have to convert a json into an object using jackson. The class is like:

class Country {  
    int a;  
    int b;  
}  

And the json i am getting:

{"country":{"a":1,"b":1}}

But when i am trying to deserialize this its giving me following error

org.codehaus.jackson.map.JsonMappingException: Unrecognized field "country"    

If i remove "country", i am able to get the object.

Is there any way i can tell jackson to just ignore "country" from the json string?

Thanks in advance.

Upvotes: 3

Views: 3822

Answers (1)

Biju Kunjummen
Biju Kunjummen

Reputation: 49935

This is the correct behavior of Jackson, the actual json representation of Country object should be without the top level country. If your json absolutely has the top level country attribute, a cleaner approach would be to use a wrapper Country class like this:

class WrapperCountry {  
   Country country;
}

this way the json representation should correctly deserialize to the WrapperCountry object and you can retrieve country from that.

Upvotes: 4

Related Questions