是否可以使ObjectMapper僅轉換實際對象而不遞歸對象樹的其餘部分?僅使用Jackson ObjectMapper轉換對象樹的第一級
這樣:
Map<String,Object> props = new ObjectMapper().convertValue(obj, Map.class);
結果在地圖上[字段,值]其中價值觀是obj的,而不是地圖領域的情況下,實際參考?
是否可以使ObjectMapper僅轉換實際對象而不遞歸對象樹的其餘部分?僅使用Jackson ObjectMapper轉換對象樹的第一級
這樣:
Map<String,Object> props = new ObjectMapper().convertValue(obj, Map.class);
結果在地圖上[字段,值]其中價值觀是obj的,而不是地圖領域的情況下,實際參考?
傑克遜現在沒有這種功能。你可以用一個可以共享一些數據和「協議」的自定義串行器/解串器對來實現。但是,當更容易(而且更快)的方式是使用POJO到Map的一種通用方式時,爲什麼要這樣做呢?可能使用反射。
我不知道我明白你真的想在這裏做什麼。
但有一點可以幫助是記住java.lang.Object
類型(以及JsonNode
)可以自由納入結構,以獲得某種「類型化」結合的結構更深。使用這些類型,您可以避免對對象模型的某些子集進行嚴格的數據綁定;並可能更動態地使用ObjectMapper.convertValue()
轉換爲POJO。
使用反射它至少是一個8班輪,即使我使用Spring BeanWrapper ...我只是想知道爲什麼沒有類似的方法在春天... – lisak