用布恩取代杰克逊

Replacing Jackson with Boon

我正在寻找用 Boon 替换 Jackson 反序列化以测试反序列化速度的差异。我正在从一个文件(可能有数百万行)中读取 JSON,该文件由多个块组成,每个块代表一个 POJO 实例 (MyPojo.java),并将这些实例存储在一个集合中。我还有一个自定义反序列化器,它将省略某些 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 支持这种类型的反序列化,直接到集合吗?

执行以下操作;

return boonMapper.readValue(jsonFile, List.class, MyPojo.class);