2016-08-18 2 views
0

Ich bin dabei, Jackson Deserialisierung mit Boon zu ersetzen, um die Unterschiede in Deserialisierungsgeschwindigkeiten zu testen. Ich lese JSON aus einer Datei (die Millionen von Zeilen lang sein kann), bestehend aus mehreren Blöcken, die jeweils eine POJO-Instanz darstellen (MyPojo.java) und diese Instanzen in einer Sammlung speichern. Ich habe auch einen benutzerdefinierten Deserializer, der die Erstellung bestimmter POJOs auslässt. In der Minute, die ich habe folgend in Jackson:Ersetzen von Jackson mit Boon

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

Ich weiß, dass die Boon API imitiert Jackson so habe ich versucht:

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

... aber es scheint nicht, dies mag es, kann die Methode nicht finden, die diese Typen akzeptiert.

Vergessen die Registrierung der benutzerdefinierten Deserializer für jetzt (das wird mein nächstes Problem sein), ist diese Art der Deserialisierung, direkt zu einer Sammlung, in Boon unterstützt?

Antwort

0

Folgendes tun;

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