org.eclipse.jetty.util.ajax.JSONを使用して JSON テキストを解析しています。しかし、JSON.parse(string)メソッドは Object を生成し、それを Map として必要とします。内部的には、まさに言及されたクラスのオブジェクトです。しかし、新しいオブジェクトを構築したり、チェックされていないキャストの警告を受けたりせずに、オブジェクトをマップにキャストするにはどうすればよいでしょうか?
現在、チェックされていないキャスト警告なしで1つの解決策しか見つかりませんでしたが、実際にはもちろんキャストではありません。
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;
}
では、チェックされていないキャスト警告なしで適切にキャストする方法はありますか?