使用Spring和Jackson JSON将java.io.Serializable实例序列化为JSON

我从一些内部API获取Serializable的实例。 Serializable实例实际上是LongString等。有没有办法制作可以处理这种情况的DTO? 使用private Serializable value; JSON以value: {}

UPDATE

以下是相关代码的简化示例:

 @Controller public class SomeController { //... public MyDto getInfo(Long id) { MyDto result = new MyDto(); Serializable obj = svc.getInfo(id); // obj is either Long, or String, or one of few more fundamental Java types result.setValue(obj); return result; } } public class MyDto { private Serializable value; public void setValue(Serializable info) { this.value = value; } public Serializable getValue() { return value; } } 

更新2

我在这里找到了我的问题的答案: https : //stackoverflow.com/a/20494813/341065

请注意,Jackson不会将java.io.Serializable用于任何事情:添加它没有实际价值。 它被忽略了。

鉴于此,jackson将看到值等同于任何实际类型(对于序列化,即编写JSON); 或者,在阅读时,相当于java.lang.Object

如果您知道实际类型,则可以使用@JsonDeserialize(as=ActualType.class)注释属性以提供提示。 但是如果实际值是String s和Long s,那么实际上不需要这样做。