简体   繁体   中英

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM