我正在使用org.eclipse.jetty.util.ajax.JSON來解析JSON文本。 但是JSON.parse(字符串)方法產生一個對象,我需要它作爲一個地圖。 在內部,它正是所提到的類的一個對象。 但是,如何將一個對象轉換爲一個Map,而無需構建一個新對象或獲取未經檢查的強制轉換警告?將Java對象轉換爲Java地圖<String,Object>
目前,我發現只有一個解決方案沒有未經檢查的轉換警告,但與構建一個新的地圖,這實際上當然不是一個鑄造。
private Map<String,Object> getMap(String string) {
HashMap<String,Object> result = new HashMap<>();
Object object = JSON.parse(string);
if (object instanceof Map) {
Map<?,?> map = (Map)(object);
for (Map.Entry<?,?> entry : map.entrySet()) {
String key = entry.getKey().toString();
Object value = entry.getValue();
result.put(key,value);
}
}
return result;
}
那麼是否有一種方法可以在沒有未經檢查的轉換警告的情況下正確轉換它?
類型檢查在類型鑄造之前可能擺脫警告。 –
@JanDvorak之前的類型檢查沒有幫助 – Bohemian
@JanDvorak - 由於類型刪除,您不能鍵入檢查特定類型的通用映射。 (例如,使用類型檢查,你不能區分'Map'Map ')。 –