用布恩取代杰克逊
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);
我正在寻找用 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);