【发布时间】:2018-03-02 10:43:32
【问题描述】:
这是我的课
public class Response<T> {
private final T data;
private final String error;
我只能换一个班级。不配置objectMapper可以jackson序列化吗?
编辑: 我在 spring mvc @RestController 中使用这个对象作为方法结果参数。而杰克逊的 objectMapper.canSerialize(Response.class) 返回 false。
编辑: 我已经这样解决了:
公共类响应{
private T data;
private String error;
@JsonIgnore
@JsonTypeInfo(
use = JsonTypeInfo.Id.CLASS,
include = JsonTypeInfo.As.PROPERTY
)
private Class<T> type;
...
@JsonIgnore
public Class<T> getType() {
return type;
}
【问题讨论】:
-
序列化不会成为问题。但是反序列化可能是,您需要使用类型引用,例如 mapper.readValue(jsonString, new TypeReference
>() {});
标签: java jackson jackson2 jackson-databind