Я работаю на JBoss
6.1.4
и использовал Jackson
V1
.После изменения моих зависимостей на эталонную версию 2.4.4
(и изменения всех включений на более быстрые версии xml) все равно, что @JsonSerialize
игнорируется.Вместо String
(из сериализатора) он возвращает класс как JSON
, который должен был быть сериализован.Ведение журнала и System.out
внутри сериализатора не отображаются.
Я не внес никаких изменений в код, кроме изменения включений для использования fastxml.
public class HiDateSerializer extends JsonSerializer<HiDate> {
@Override
public void serialize(final HiDate value, final JsonGenerator gen, final SerializerProvider sp) throws IOException, JsonProcessingException {
if (value == null || value.isNull()) {
gen.writeString("");
} else {
gen.writeString(value.fmt());
}
}
}
Затем в своем классе моделей я используюаннотация для всех HiDate
атрибутов:
@JsonSerialize(using = HiDateSerializer.class)
private HiDate dob;
Вот моя зависимость:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
Ранее я получал либо пустую строку, либо строку только с датой.Однако теперь я получаю JSON
представление всего класса HiDate
.Как будто @JsonSerialize
больше не соблюдается.