java使用简单的
我想序列化一个用Simple扩展HashMap的元素
@Root(name = "settings")
@ElementMap(entry="element", key="id", attribute=true, required=true, empty=true)
public class Settings extends HashMap<String, Object> {
...
每当我序列化它时,不会出现任何错误,但我也会得到一个空文件,如下所示:
<settings/>
有没有办法做到这一点,而不需要创建一个内部对象,然后将所有方法委托给它
# 1 楼答案
我想原因是,Simple无法转换哈希映射
如果我运行这个代码
。。。我得到以下例外:
org.simpleframework.xml.transform.TransformException: Transform of class java.util.HashMap not supported
现在,我做了些什么来序列化您的类:
我写了一个Converter,用于转换
Settings
类:
类:
测试:
文件测试。xml:
我想有更好的方法(如果不是更多的话)来做到这一点,但也许这有点帮助
另一点是,
@Default
注释在这里不起作用(例外),解决这个问题可能会解决整个问题