Jackson Json类型映射内部类

我正在尝试为作为JSON传入的对象创建内部类类型,但是尽管我在此处以及杰克逊的网站上都读了很多文章,但我似乎无法获得正确的组合,因此,如果其他人有任何指针,他们将不胜感激。我在下面发布了一些代码片段,并删除了所有的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" } }

回答:

如果可以的话,使您的生活变得简单,并通过Settings类中的引用将内部类移至普通类。然后使用杰克逊进行编组,这是您上课的方式:

public class Settings {

private int offset;

private int limit;

private String type;

private Map<String, Criteria> criteria;

private Criteria criteria;

}

class Criteria {

private String restriction;

private Object value;

}

以上是 Jackson Json类型映射内部类 的全部内容, 来源链接: utcz.com/qa/411625.html

回到顶部