2014-12-07 63 views
0

任何人可以帮助我知道正确的方法来将此POJO转换为JSON使用杰克逊? 我怎样才能得到这个类的赖特类型通过它到readValue(content, valueType)杰克逊DeSerialize类与<T>(通用)类型

谢谢。

public class GcmMessages<T> { 

    int mType; 
    int mEmpId; 
    Date mDate; 
    T[] mBody; 

    public GcmMessages() 
    { 

    } 

} 

回答

2

你想要什么可能是一个TypeReference是:

final TypeReference<GcmMessage<Foo>> typeref 
    = new TypeReference<GcmMessage<Foo>>(){}; 

final GcmMessage<Foo> = mapper.readValue(yourSource, typeref); 

不知道如何处理“通用阵列”,然而,从未有过的尝试。

+0

谢谢,但我要处理通用数组,我曾经使用GSON来完成它。 – 2014-12-07 20:14:29

+0

正如我所说的,我不必这么做 - 这意味着我不知道它是否有效。一般来说,杰克逊可能会认识到这一点。 – fge 2014-12-07 20:15:39