Android 从Gson到Jackson的移植,泛型和自定义反序列化程序的混乱

Android 从Gson到Jackson的移植,泛型和自定义反序列化程序的混乱,android,json,jackson,gson,json-deserialization,Android,Json,Jackson,Gson,Json Deserialization,我们正在尝试评估Jackson作为Gson的替代品,我在理解泛型方面遇到了一些问题。我觉得这是一个简单的问题,我完全找不到答案,也没有通过谷歌或文档找到示例/信息。我希望有人能指出我的错误或指出正确的实现方法 假设我有一门课是这样的: public class Response<T extends BaseTypeInterface > implements BaseTypeInterface { private Meta meta; private T mResul

我们正在尝试评估Jackson作为Gson的替代品,我在理解泛型方面遇到了一些问题。我觉得这是一个简单的问题,我完全找不到答案,也没有通过谷歌或文档找到示例/信息。我希望有人能指出我的错误或指出正确的实现方法

假设我有一门课是这样的:

public class Response<T extends BaseTypeInterface > implements BaseTypeInterface {
    private Meta meta;
    private T mResult;
    private Group<Notification> notifications;
}
{
    meta: {
        code: 200,
        requestId: "541fb2dc498e306d526f7e4c"
    },
    response: {
        //content
    }
}
示例Json如下所示:

public class Response<T extends BaseTypeInterface > implements BaseTypeInterface {
    private Meta meta;
    private T mResult;
    private Group<Notification> notifications;
}
{
    meta: {
        code: 200,
        requestId: "541fb2dc498e306d526f7e4c"
    },
    response: {
        //content
    }
}

通过阅读您的问题和需求,我发现您不需要拥有多个数据表示并对其进行更改。例如,响应可以多次使用列表,并根据请求在另一次使用值。如果这是您想要做的,我认为您可以直接进入解决方案:

  • 响应1:按您的要求格式化
  • 回答2:正在提交一份动物名单
我们使用传统来解决您的问题。 此解决方案的优点是,您不需要编写序列化/反序列化程序。尽量避免这样做:这是错误和容易出错的。。。并且通常会导致缓慢/复杂的序列化。:)

完整代码:

Response1 {"meta":{"code":200,"requestId":"id:12312342325252345234234"},"response":{"val1":"example","val2":"yummi"}}
    Response1 is OK
    Response2 (Animals Response) {"meta":{"code":200,"requestId":"id:animal:4"},"response":{"animals":["snow monkey","royal ant","pink panther","Blue elephant"]}}
    Response2 (Animals Response) is OK