【发布时间】:2011-02-01 06:35:22
【问题描述】:
我正在尝试做这样的事情,但它不起作用:
Map<String, String> propertyMap = new HashMap<String, String>();
propertyMap = JacksonUtils.fromJSON(properties, Map.class);
但是 IDE 说:
未经检查的分配
Map to Map<String,String>
这样做的正确方法是什么? 我只使用 Jackson,因为这是项目中已经可用的,是否有本地 Java 方式来转换 JSON 或从 JSON 转换?
在 PHP 中,我只需 json_decode($str) 并返回一个数组。我在这里需要基本相同的东西。
【问题讨论】:
-
JacksonUtils 类从何而来?我在任何杰克逊版本中都没有看到它。
-
它是我们对 Jackson 的包装器,处理一些你必须做的 JsonFactory 和 ObjectMapper 的事情。
-
所以,问题在于 JacksonUtils.fromJSON() 没有声明返回 Map
,而只是返回 Map。 -
顺便说一句,不要在第一行分配新的 HashMap:这会被忽略。只是接听电话。
-
标题与您描述的问题无关,与无类型集合有关。下面的答案是您真正想问的正确答案。