XStream или простой

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

SELECT * FROM table WHERE datetime = DATESUB(NOW(),NOW());
7
задан facundofarias 25 August 2016 в 08:00
поделиться

6 ответов

Почему бы не использовать JAXB?

  • 100% покрытие схем
  • Огромная база пользователей
  • Множество реализаций (на случай, если в одной из них вы найдете ошибку)
  • Включен в Java SE 6, совместим с JDK 1. 5
  • Связующий слой для JAX-WS (Web Services)
  • Связующий слой для JAX-RS (Rest)
  • Совместим с JSON (при использовании с библиотеками типа Jettison)

Полезные ресурсы:

8
ответ дан 6 December 2019 в 06:03
поделиться

Я бы порекомендовал вам взглянуть на Простой

7
ответ дан 6 December 2019 в 06:03
поделиться

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

2
ответ дан 6 December 2019 в 06:03
поделиться

Пока что я никогда не использовал Simple framework.

На основании моего опыта работы с Xstream. Он хорошо работал с XML. Однако для JSON результат оказывается не таким точным, как ожидалось, когда я пытаюсь сериализовать bean-компонент, содержащий List of Hashtable.

1
ответ дан 6 December 2019 в 06:03
поделиться

Просто после прочтения документации (я столкнулся с той же проблемой, что и вы, но пока не пробовал ни то, ни другое; соль):

XSTREAM

  1. Гугл очень и очень просто. Примеры, сообщения на форумах и в блогах об этом легко найти.
  2. Работает "из коробки". (Конечно, может потребоваться дополнительная настройка, но это даст вам что-то сразу.)
  3. Преобразование переменной в атрибут требует создания отдельного класса преобразователя и регистрации его в XStream. (Это несложно для простых значений, но это небольшая дополнительная работа.)
  4. Не поддерживает управление версиями, если только вы не добавите XMT (другую библиотеку); если XML, сгенерированный вашим классом, изменится, он вообще не будет десериализован. (После добавления XMT вы можете изменять свои классы по своему усмотрению, и XStream справляется с этим нормально, если вы создаете увеличивающуюся строку инкрементных функций управления версиями.)
  5. Все корректировки требуют написания кода либо для реализации ваши собственные функции (де) сериализации или вызов функций XStream для изменения используемых методов (де) сериализации.
  6. Тривиальное примечание по синтаксису: вам нужно привести вывод десериализатора к вашему классу.

SIMPLE

  1. Домашняя страница - единственный надежный источник информации; он перечисляет около полдюжины внешних статей и есть список рассылки, но вы не можете найти его в диком Интернете.
  2. Требуется аннотировать ваш код, прежде чем он заработает.
  3. Легко сделать более компактный XML-файл, используя атрибуты вместо XML-узлов для каждого свойства.
  4. Управляет версией за счет нестрогого синтаксического анализа, когда класс правильный, но версия отличается. (то есть, если вы добавили два поля и удалили одно с момента последней версии, оно проигнорирует удаленное поле и не вызовет исключение, но не установит добавленные поля.) Как и XStream, похоже, что он не имеет способ переноса данных из одной версии в другую, но, в отличие от XStream, нет внешней библиотеки, которая могла бы вмешаться и обработать ее. Предположительно, способ справиться с этим - использовать некоторую внешнюю функцию (и, возможно, переменную "версии" в вашем классе?), Поэтому вы делаете

    Stuff myRestoredStuff = serializer.read (Stuff.class, file); {{1} } myRestoredStuff.sanityCheck ();

  5. Обычно используемые настройки (де) сериализации выполняются путем добавления / редактирования аннотаций, но есть поддержка написания собственных функций (де) сериализации, чтобы переопределить стандартные методы, если вам нужно сделать что-то непонятное .

  6. Тривиальное примечание по синтаксису: вам нужно передать класс восстановленного объекта в десериализатор (но вам не нужно приводить результат).
11
ответ дан 6 December 2019 в 06:03
поделиться

Я бегло просмотрел simple, читая stackoverflow; в качестве дополнения к полезному сообщению Paul Marshalls, я решил упомянуть, что Simple, похоже, поддерживает версионность через аннотации -

http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#version

0
ответ дан 6 December 2019 в 06:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: