Каков самый быстрый способ сериализации Java-объекта в Map (и анализа) с минимальным написанием кода? - PullRequest
0 голосов
/ 21 июля 2010

У меня есть система, в которой сущности (из базы данных, представленной как объекты Java через ORM) будут читаться клиентами XML-RPC, мой существующий способ - сериализовать их через StructSerializer, который в своем коде мы читаем свойствавне объекта Java, включая вызов другого StructSerializer для сериализации / разбора свойства, например

Surrogate parse(Map<String, Object> in) {
  String name = in.get(Surrogate.NAME, String.class);
  ...
}

Map<String, Object> serialize(Surrogate in) {
  out.put(Surrogate.ID, in.getId());
  out.put(Surrogate.USER, userSerializer.serialize(in.getUser()))
}

Сейчас я ищу, чтобы исключить / автоматизировать / минимизировать написание такого кода.Кроме того, XML-RPC-совместимая проблема на самом деле не является проблемой.

Большое спасибо.

Отредактировано:

Более подробно, преобразование XMLВсе, что мне нужно для работы с Apache XML-RPC, - это создать карту для работы с ней.Теперь мне нужен унифицированный / общепринятый способ преобразования объектов Java в Map.

Ответы [ 3 ]

3 голосов
/ 21 июля 2010

Я уточнил свой поиск и обнаружил: Как преобразовать Java-объект (бин) в пары ключ-значение (и наоборот)?

Что предлагает BeanUtils как хорошее решение.

0 голосов
/ 21 июля 2010

Если вам не требуется совместимость, есть несколько вариантов: XMLEncoder , XStream , Castor . Все они требуют очень мало кода для написания, если вам не нужно что-то необычное. XMLEncoder включен в JRE, другие являются дополнительными библиотеками.

0 голосов
/ 21 июля 2010

Мне нравится XStream для такой работы - http://x -stream.github.io /

Все, что вам нужно сделать, это комментировать ваши классы и передавать их в сериализатор / десериализатор XStream. Вы можете аннотировать определенные поля, чтобы настроить вывод, но обычно это не требуется.

...