将泛型序列化为JSON而不将泛型字段转换为字符串?

时间:2017-05-11 15:02:59

标签: java json generics serialization

我有一个DTO会发回一个泛型类型的对象。这是一个例子:

public class ATestDTO<E> implements Serializable {
    private E generic;

    public E getGeneric() {
        return generic;
    }

    public void setGeneric( E generic ) {
        this.generic = generic;
    }
}

如果说E是Long,它将输出为String而不是数字。我希望它输出为数字。

ATestDTO<Long> dto = new ATestDTO();
dto.setGeneric(1l);

//Outputs:
{
  "generic": "1"
}

//Desired:
{
  "generic": 1
}

有趣的是,如果字段是List<E>,它会在列表中输出数字而不是字符串,所以我知道它是可能的。

尝试修复:

- 我尝试通过传入类来强制转换它,但它仍然输出一个字符串

0 个答案:

没有答案