總之,是的,這是可能的。有了這個說法,我鼓勵你返回日期的數字表示,並讓它留給消費者來顯示它,然而他們想要的。這是實現你想要的東西的一種手段。
創建一個類,該類將用作實體對象的序列化器。
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
public class EntitySerializer extends JsonSerializer<Entity> {
@Override
public void serialize(Entity entity, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("name", entity.getName());
if (entity.getFieldThatIndicates24HourFormat()) {
jsonGenerator.writeStringField("date", entity.getDate().toString());
} else {
jsonGenerator.writeStringField("date", entity.getDate().toString());
}
jsonGenerator.writeEndObject();
}
}
在您的實體上添加一個註釋,該註釋將使該類能夠用於序列化它。
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonSerialize(using = EntitySerializer.class)
public class Entity {
由於您現在必須注意對您的實體所做的更改並相應更新序列化程序,因此存在明顯的缺陷。
如何代碼示例有關你的問題? –