//如果已知想要序列化的類型 可以使用TypeReference來進行處理
//List<MyBean> result = mapper.readValue(src, new TypeReference<List<MyBean>>() { });
//如果是未知情況可以使用TypeFactory來進行動态反射序列化
//apper.readValue(src, TypeFactory.defaultInstance().constructCollectionType(ArrayList.class, MyBean.class));
//另外如果你的類當中的某個屬性是抽象類 那麼在反序列化的時候可以通過
@JsonDeserialize(as=Impl.class) 來進行處理
//如果屬性是 List 内部元素是抽象類
For java.util.List values you would use @JsonDeserialize(contentAs=ValueTypeImpl.class) instead, and for java.util.Map keys, @JsonDeserialize(keyAs=KeyTypeImpl.class).
//可以設定SimpleModule 進行個性化設定
SimpleModule module = new SimpleModule();
module.addSerializer(Date.class, new JsonSerializer<Date>() {
@Override
public void serialize(Date arg0, JsonGenerator jgen,
SerializerProvider arg2) throws IOException,
JsonProcessingException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
jgen.writeString(format.format(arg0));
}
});
mapper.registerModule(module);