4 回答

TA貢獻1853條經驗 獲得超18個贊
許多潛在的解決方案,但讓我們再添加一個。使用Jackson(JSON處理庫)進行“無json”轉換,例如:
ObjectMapper m = new ObjectMapper();
Map<String,Object> props = m.convertValue(myBean, Map.class);
MyBean anotherBean = m.convertValue(props, MyBean.class);
(此博客條目有更多示例)
您基本上可以轉換任何兼容的類型:兼容的意思是,如果您確實從類型轉換為JSON,并且從該JSON轉換為結果類型,則條目將匹配(如果配置正確,也可以忽略無法識別的類型)。
對于可能發(fā)生的情況,包括Maps,Lists,數組,基元和類bean POJO,效果很好。

TA貢獻1877條經驗 獲得超6個贊
這是一種將Java對象轉換為Map的方法
public static Map<String, Object> ConvertObjectToMap(Object obj) throws
IllegalAccessException,
IllegalArgumentException,
InvocationTargetException {
Class<?> pomclass = obj.getClass();
pomclass = obj.getClass();
Method[] methods = obj.getClass().getMethods();
Map<String, Object> map = new HashMap<String, Object>();
for (Method m : methods) {
if (m.getName().startsWith("get") && !m.getName().startsWith("getClass")) {
Object value = (Object) m.invoke(obj);
map.put(m.getName().substring(3), (Object) value);
}
}
return map;
}
這是怎么稱呼的
Test test = new Test()
Map<String, Object> map = ConvertObjectToMap(test);
添加回答
舉報