2010-08-19 2 views
0

Я думаю об использовании библиотеки XStream, но у меня есть пара вопросов/проблем.Может ли XStream обрабатывать сложные объекты без дополнительной работы?

Скажем, у меня есть сложный объект, который я хочу сериализовать в XML (или JSON) с помощью XStream. Может ли XStream справиться с этим без дополнительной работы?

Например:

class Foo 
{ 
    private Bar bar; 
    private string name; 

    // Getters and Setters 
} 


class Bar 
{ 
    private Integer id; 
    private string name; 

    // getters and setters 
} 

Может XStream справиться с этим правильно? Благодаря!

+1

Рассматривали ли вы использование стандартного решения, такого как JAXB вместо XStream? –

ответ

3

Короткий ответ: Да, он может.

Но сделаю это с большим отражением накладных расходов. Я бы не написал такой код в выпуске продукции. Кроме того, имейте в виду, что вам нужно искать двунаправленную ссылку, которая вызовет исключение во время выполнения.

1

Да, простые вложенные структуры (ссылки на другие объекты, списки и карты) поддерживаются.

Вещи становятся волосатыми, если вам нужно получить доступ к полям с разных уровней (скажем, вам нужен атрибут от <foo> в Bar).

Смежные вопросы