我有以下json
字符串: -JSON到Java对象returing LinkedHashMap的
{"name":"Test","sortlist":[],"filterlist":[{"fieldname":"regions_id","operator":"equals","value":{"id":1,"code":"HIGH","description":"HIGH Region","comment":"High Region","active":true}}]}
和Java如下类: -
@JsonSerialize
@JsonDeserialize
public class ItemFilter implements Serializable {
private String name;
private List<FieldFilter> filterlist = new ArrayList<FieldFilter>();
}
public class FieldFilter implements Serializable {
private static final long serialVersionUID = 1L;
private String fieldname;
private String operator;
private Object value;
}
和我的转换方法如下: -
public static ItemFilter convertItemFilter(String item) {
ObjectMapper mapper = new ObjectMapper();
try {
ItemFilter itemFilter = mapper.readValue(item, new TypeReference<ItemFilter>(){});
return itemFilter;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
ItemFilter
域得到正确,但在private Object value;
场转换我得到LinkedHashMap
我希望得到一个简单的对象,后来我将类型转换它。
是否有人可以指导我如何逃脱LinkedHashMap
并获得变量的简单Java
Object
?
我不能使用硬编码对象类型,因为它的一个通用POJO其可以具有任何对象类型。硬编码将使这个pojo更大,前端也需要改变它。所以我为什么使用Object作为数据类型。
这是一个问题。如果它转换为对象的类型,然后在那里将它保存'“ID”的值:1,“代码”:“HIGH”,“说明”:“高速区域”,“评论”:“高区”,”主动“:TRUE'? 由于无法找到ID,代码的任何相关领域,...这将其转换为LinkedHashMap中,并在地图上设置这些值。 由于周围的工作,你为什么不创建字段值的** **制定者和呼叫变压器API,它变换是这个LinkedHashMap中成你想要的对象类型? –