В настоящее время я пишу некоторый код, используя Jackson для сериализации устаревших POJO в XML, но мне нужно, чтобы они были сериализованы с использованием атрибутов, а не дочерних элементов. Есть ли способ сделать это с помощью Джексона без добавления аннотаций к устаревшим классам?Использование Jackson для сериализации xml с использованием атрибутов без аннотаций
2
A
ответ
5
Есть ли способ сделать это с помощью Джексона без добавления аннотаций к устаревшим классам?
Вы можете попытаться использовать аннотации Mix-in в jackson. Таким образом, вы можете сохранить свои унаследованные классы и одновременно использовать функцию аннотаций. Вот как.
Person.class
class Person {
private String username;
private String lastName;
private String address;
private Integer age;
//getters and setters
}
Mixin.class
abstract class Mixin{
@JacksonXmlProperty(isAttribute = true)
abstract String getUsername();
@JacksonXmlProperty(isAttribute = true)
abstract String getLastName();
@JacksonXmlProperty(isAttribute = true)
abstract String getAddress();
@JacksonXmlProperty(isAttribute = true)
abstract String getAge();
}
Основной метод
public static void main(String[] args) throws JsonProcessingException {
Person p = new Person("Foo","Bar");
p.setAddress("This address is too long");
p.setAge(20);
ObjectMapper xmlMapper = new XmlMapper();
xmlMapper.addMixInAnnotations(Person.class, MixIn.class);
String xml = xmlMapper.writeValueAsString(p);
System.out.println(xml);
}
Выход
<Person xmlns="" username="Foo" lastName="Bar" address="This address is too long" age="20"></Person>
Смежные вопросы
- 1. Как сказать jackson для сериализации для json без атрибутов атрибутов
- 2. Использование Jackson JSON-процессора без использования аннотаций
- 3. Использование @JsonIdentityInfo без аннотаций
- 4. Использование Jackson XmlMapper для сериализации в XML DOM
- 5. Проблемы с Jackson XML при сериализации
- 6. Jackson JSON XML - разные имена при сериализации в XML
- 7. атрибутов XML игнорируются при сериализации
- 8. Использование StringWriter для сериализации XML
- 9. Использование аннотаций XML
- 10. Jackson - объекты для сериализации даты
- 11. XML десериализация с использованием пользовательского корневого элемента jackson-dataformat-xml?
- 12. XML сериализации Использование XMLElement
- 13. XML сериализации без подэлемента
- 14. jackson jaxb поддержка аннотаций весной
- 15. Предотвращение зацикливание в JAX-RS на JPA Entity сериализации (JSON) (без использования Jackson аннотаций)
- 16. Сериализовать объект в XML без использования атрибутов
- 17. Анализ XML с использованием атрибутов
- 18. Использование аннотаций модуля в качестве атрибутов метода
- 19. Добавление атрибутов при сериализации в XML
- 20. Использование gwt-jackson без maven
- 21. сериализации массив объектов с использованием Doctrine и JMSSerializer аннотаций
- 22. Преобразование xml в json с использованием jackson
- 23. десериализация XML в POJO с использованием Jackson XmlMapper
- 24. C# XML сериализации без обертки
- 25. Замена для XML-сериализации
- 26. Python XML Serialization с использованием атрибутов
- 27. XML-библиотека сериализации XML, совместимая с атрибутами сериализации BCL, но без компиляции сериализаторов?
- 28. Использование LINQ для извлечения атрибутов из XML
- 29. Использование PHP для получения атрибутов селектора xml
- 30. Поле сериализации Jackson с различными пользовательскими сериализаторами
Yesss! Благодарим вас за предоставление такого четкого примера + WORKING для использования Mixin + Jackson XML Mapper – akapulko2020