对象到地图转换

时间:2015-08-05 14:46:05

标签: java object dictionary collections key-value

我在配置文件

中有如下地图
<Map>
      <entry key="C3239">
        <value>
          <Map>
            <entry key="enddate" value="08/12/2015"/>
            <entry key="reason" value="test"/>
          </Map>
        </value>
      </entry>
      <entry key="CAD0139">
        <value>
          <Map>
            <entry key="enddate" value="08/12/2015"/>
            <entry key="reason" value="test 12345"/>
          </Map>
        </value>
      </entry>
    </Map>

我正在检查输入密钥(Id = CAD0139)是否存在。

Config.containsKey(Id);

如果密钥存在,我可以像这样得到密钥,值对 Object obj = Config.get(Id); //这会返回一个带有键值对

的对象

所以现在我的问题是如何将对象转换为Map并检索enddate和reason的值。

有人可以建议一些简单的方法来实现这一目标。

感谢。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,最简单的解决方案是将结果转换为地图:

Map value = (Map)Config.get(Id)

如果可能的话,我建议强烈输入地图,例如

Map<String,Map<String,String>> Config = new HashMap<>();
// then later
if( Config.containsKey(Id)) {
  Map<String,String> value = Config.get(Id);
}