XStream可以处理复杂的对象而无需任何额外的工作吗?

时间:2010-08-19 15:13:10

标签: java xstream

我正在考虑使用XStream库,但我有几个问题/疑虑。

假设我有一个复杂的对象,我想使用XStream序列化为XML(或JSON)。 XStream能否在没有任何额外工作的情况下处理这个问题?

例如:

class Foo
{
    private Bar bar;
    private string name;

    // Getters and Setters
}


class Bar
{
    private Integer id;
    private string name;

    // getters and setters
}

XStream可以正确处理吗?谢谢!

2 个答案:

答案 0 :(得分:3)

简短回答:是的,它可以。

但是会有大量的反射开销。我不会在生产版本中编写这样的代码。 另外,请记住,您必须寻找会导致运行时异常的双向引用。

答案 1 :(得分:1)

是的,支持简单的嵌套结构(对其他对象,列表和地图的引用)。

如果您需要访问不同级别的字段(例如,您需要<foo>Bar的属性),事情会变得多毛。