杰克逊 Json 类型映射内部类
我正在尝试为作为JSON传入的对象创建内部类类型,但是虽然我在这里以及Jackson的网站上阅读了大量内容,但我似乎无法获得正确的组合,因此如果其他人有任何指针,他们将不胜感激。我在下面发布了一些片段,并删除了所有getter和setter,我不认为他们需要发布。我使用的是 Jackson 2.2。
我试图反序列化的类:
public class Settings {
private int offset;
private int limit;
private String type;
private Map<String, Criteria> criteria;
public class Criteria {
private String restriction;
private Object value;
}
}
我用来反序列化的代码:
ObjectMapper om = new ObjectMapper();
TypeFactory tf = om.getTypeFactory();
JavaType map = tf.constructMapLikeType( Map.class, String.class, Criteria.class );
JavaType type = typeFactory.constructType( Settings.class, map );
Settings settings = om.readValue( entity, type );
我的 JSON 测试数据:
{ "type": "org.json.Car", "criteria": { "restriction": "eq", "value": "bmw" } }