傑克遜有很多序列化選項。你的情況,你需要設置:
private ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
,如果你使用的是傑克遜的1.x或
private ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
如果你使用2.x版本傑克遜
爲了讓澤西ObjectMapper
你需要創建一個提供訪問自定義:
@Provider
public class ObjectMapperProvider implements ContextResolver<ObjectMapper>
{
private final transient ObjectMapper mapper;
@Inject
public ObjectMapperProvider()
{
this.mapper = MyMapper.getMapper();
}
@Override
public ObjectMapper getContext(final Class<?> type)
{
return this.mapper;
}
}
哪裏MyMapper.getMapper()
返回您的自定義ObjectMapper
。
來源
2013-02-08 07:16:21
jgm
當我明確使用映射器時,這看起來很合適 - 對嗎? 但是如果它剛被澤西島使用呢? – epeleg
增加了關於如何訪問客戶ObjectMapper的信息。 – jgm
謝謝。 我想這應該是在com.sun.jersey.config.property.packages初始參數爲球衣引用的包中。 我沒有測試過這個,因爲我已經爲使用@JSONSerialize的當前需求設置了一個解決方案。但它看起來像一個正確和完整的答案。 – epeleg