Сериализуемые объекты XStream - PullRequest
0 голосов
/ 11 мая 2010

В настоящее время я использую XStream для сериализации некоторых моих объектов, которые не поддерживают Serializable. Есть ли способ указать XStream использовать сериализацию по умолчанию в Java, если объект действительно реализует Serializable, и использовать XML-сериализацию, если это не так? Или мне нужно создать простой слой поверх него, чтобы проверить?

спасибо, Джефф

1 Ответ

1 голос
/ 11 мая 2010

Это не будет хорошей идеей. Сериализация Java - это двоичное представление, XML - это текстовое представление.

Взять, к примеру, java.lang.String. Это реализует Serializable, но очевидно, что вы не хотели бы, чтобы ваши строки сериализовались как двоичные объекты внутри вашего XML. Аналогично для таких вещей, как числовые типы и т. Д.

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

...