Tag:

如何在Gson中实现TypeAdapterFactory?

如何在Gson中实现TypeAdapterFactory类型? 创建的主要方法是通用的。 为什么? 注册方法registerTypeAdapterFactory()不接收类型参数。 那么, Gson如何知道工厂处理哪些类? 我应该为多个类实现一个工厂,还是可以为多个类实现一个工厂? 如果我为多个类实现一个工厂,那么在域外类型参数的情况下我应该返回什么?

使用Jackson将Json反序列化为另一个类层次结构

现在我和jackson合作,我对此有一些疑问。 首先。 我有两个服务,第一个是数据收集和发送服务,第二个接收这些数据,例如,将其记录到文件中。 所以,第一个服务有类层次结构,如下所示: +—-ConcreteC | Base —-+—-ConcreteA | +—-ConcreteB 第二个服务有类层次结构,如下所示: ConcreteAAdapter extends ConcreteA implements Adapter {} ConcreteBAdapter extends ConcreteB implements Adapter {} ConcreteCAdapter extends ConcreteC implements Adapter {} 第一个服务对ConcreteXAdapter一无所知。 我在第一个服务上发送数据的方式: Collection data = new LinkedBlockingQueue() JacksonUtils utils = new JacksonUtils(); data.add(new ConcreteA()); data.add(new ConcreteB()); data.add(new ConcreteC()); … send(utils.marshall(data)); … public class JacksonUtils { public […]

GSON将键值反序列化为自定义对象

我需要反序列化json,这是一个日期/长值数组。 以下是返回的JSON的示例: [{“2011-04-30T00:00:00-07:00”:100}, {“2011-04-29T00:00:00-07:00”:200}] 使用GSON我可以将它反序列化为List<Map> ,但是希望能够将它转换为List类似于: public class MyCustomClass() { Date date; Long value; } 我似乎无法找到一种方法来指示GSON将JSON映射的键/值映射到我的自定义类中的日期/值字段。 有没有办法做到这一点,或者是地图列表唯一的路线?