Java XStream可以在不做任何额外工作的情况下处理复杂对象吗?

Java XStream可以在不做任何额外工作的情况下处理复杂对象吗?,java,xstream,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

我正在考虑使用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能正确处理这个问题吗?谢谢

简短回答:是的,它可以

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

简短回答:是的,它可以

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

是的,支持简单的嵌套结构(对其他对象、列表和映射的引用)


如果您需要从不同级别访问字段(例如,您需要
栏中的
中的属性),事情就会变得棘手。

是的,支持简单的嵌套结构(对其他对象、列表和映射的引用)


如果您需要从不同级别访问字段(例如,您需要
Bar
中的
中的属性),事情就会变得棘手。

您是否考虑过使用标准解决方案,如JAXB而不是XStream?您是否考虑过使用标准解决方案,如JAXB而不是XStream?