jackson v1.9.13 spring 3.2.0 Привет, Я проводил дни, пытаясь понять, как добавить поле в JSON из компонента во время сериализации.Весна-MVC Джексон. Добавить поле во время сериализации бобов
Похоже, что это очень простая функция, но я столкнулся с резиновыми стенами по каждому маршруту, который я взял.
То, что я хочу добиться:
пример фасоли:
package org.mydomain;
public class MyBean implements Serializable {
private String foo;
public void setFoo(String inValue) {
foo = inValue;
}
public String getFoo() {
return foo;
}
}
выход:
{
"_type" : "org.mydomain.MyBean",
"foo" : "bar"
}
Я считаю, что Simples способом было бы расширить BeanSerializer запись свойство «_type» и делегировать сериализацию суперкласса остальных полей. Проблема в том, что доступность методов и «заключительная» статья некоторых важнейших методов делает ее трясиной.
Я пробовал расширять BeanSerializerBase, JsonSerializer, BeanSerializerModifier.
Каждый раз, когда я врезался в какой-то непроницаемый 24-аргумент-конструктор или какой-то не-неправильно документированный метод.
Очень расстраивает.
У кого-нибудь есть идеи о том, как достичь вышеуказанного бита?
Я использую spring-mvc, поэтому мне нужно подключаемое решение через конфигурацию ObjectMapper. Я не хочу загрязнять объекты модели или контроллера с помощью json-специфической аннотации или логики сериализации.
Большое спасибо.
Н.
Другим способом для достижения этой цели обсуждается в этом вопросе http://stackoverflow.com/questions/14714328/jackson-how-to-add-custom-property-to-the-json-without-modifying- заместитель POJO –