我正在使用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 ')。 –