Я просто хочу понять, для чего используется SerializationFeature.WRAP_ROOT_VALUE.
Я на самом деле пытался отключить SerializationFeature.WRAP_ROOT_VALUE и для класса, который я аннотировал с xmlRootElement. Вот в этом случае после отключения SerializationFeature.WRAP_ROOT_VALUE еще после сериализации я получаю корневое значение. Чтобы просто избежать корневого значения, я должен использовать xmlType.
Итак, пытаясь понять, в чем польза от SerializationFeature.WRAP_ROOT_VALUE?
Пример кода, который я пробовал
@XmlRootElement(name="person")
Public class Person {
@XmlElement(name = "insert")
private int insert;
@XmlElement(name = "update")
private int update;
}
Выше приведен класс POJO, который я пытался сериализовать, а также я использовал
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true);
Таким образом, с приведенным выше кодом на выходе получается
"person" {
"insert" : 1,
"update" : 0
}
В том же случае, если я пытаюсь изменить xmlRootElement на XmlType в классе Person, вывод будет
{
"insert" : 1,
"update" : 0
}
Так что я запутался, например, зачем использовать SerializationFeature.WRAP_ROOT_VALUE, если он не дает ожидаемого результата?
Я использую версию Джексона 2.9.6