我有以下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中成你想要的對象類型? –