Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Jackson 2.4 + JsonView + кастомный серилизатор / 1 сообщений из 1, страница 1 из 1
12.11.2014, 16:41
    #38803814
Alexei Zaycev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jackson 2.4 + JsonView + кастомный серилизатор
Всем привет!

Имеется набор вьюшек:
Код: java
1.
2.
3.
4.
public class Views {
    public static class Public {}
    public static class Extended extends Public {}
}



Имеется тип и подтип с кастомным серилизатором:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
public class Substruct
        implements JsonSerializable {

    @Override
    public void serialize(JsonGenerator jgen, SerializerProvider provider) 
            throws IOException, JsonProcessingException {
            
        serializeWithType(jgen, provider, null);
    }

    @Override
    public void serializeWithType(JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) 
            throws IOException, JsonProcessingException {

        if (provider.getActiveView() != null) {
            jgen.writeString(provider.getActiveView().getName());
        } else {
            jgen.writeString((String) null);
        }
    }
}

public class Struct {
        
    @JsonProperty("view")
    @JsonView(Views.Extended.class)
    public Substruct s;
}



Пытаемся скинуть структуру в консольку с указанием используемой вьюшки:
Код: java
1.
2.
3.
4.
5.
6.
final ObjectMapper mapper = new ObjectMapper();
        
final Struct struct = new Struct();
struct.s = new Substruct();

mapper.writeValue(System.out, struct);



В консоли получаем:
Код: json
1.
{"view":null}


Откуда видно что упоминание о вьюшке до серилизатора не дожило.

Вопрос - что я делаю неправильно? Мне в кастомном серилизаторе у Substruct нужно получить используемую вьюху из Struct.


Я не падаю. Я так летаю.
Каждый летает как умеет.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Jackson 2.4 + JsonView + кастомный серилизатор / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]