使用jackson将json转换为对象

时间:2011-02-18 12:13:25

标签: java json jackson

我必须使用jackson将json转换为对象。这堂课就像:

class Country {  
    int a;  
    int b;  
}  

我得到了json:

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

但是当我试图反序列化时,它会给我以下错误

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

如果我删除“country”,我就可以获得该对象。

有什么方法可以让杰克逊从json字符串中忽略“country”吗?

提前致谢。

1 个答案:

答案 0 :(得分:4)

这是Jackson的正确行为,Country对象的实际json表示应该没有顶级国家。如果您的json绝对具有顶级国家/地区属性,那么更简洁的方法是使用这样的包装器Country类:

class WrapperCountry {  
   Country country;
}

这样json表示应该正确地反序列化为WrapperCountry对象,你可以从中检索国家。