用Boon取代杰克逊

时间:2016-08-18 15:09:00

标签: java json deserialization json-deserialization boon

我希望用Boon取代Jackson反序列化来测试反序列化速度的差异。我正在从一个文件中读取JSON(可能长达数百万行),由多个块组成,每个块代表一个POJO实例(MyPojo.java)并将这些实例存储在Collection中。我还有一个自定义反序列化器,它将省略某些POJO的创建。在那一刻,我在杰克逊有以下内容:

public Collection<MyPojo> load()
{
    ObjectMapper mapper = new ObjectMapper().registerModule(new MyCustomDeserializer());
    return mapper.readValue(jsonFile, new TypeReference<Collection<MyPojo>>(){});
}

我知道Boon API模仿Jacksons所以我试过了:

ObjectMapper boonMapper = JsonFactory.create();
return boonMapper.readValue(jsonFile, new TypeReference<Collection<MyPojo>>(){});

...但它似乎不喜欢这样,它无法找到接受这些类型的方法。

暂时忘记注册自定义反序列化程序(这将是我的下一个问题),这种类型的反序列化,直接收集,在Boon中支持吗?

1 个答案:

答案 0 :(得分:0)

执行以下操作;

>>> [3*i + i%2 for i in range(10)]
[0, 4, 6, 10, 12, 16, 18, 22, 24, 28]