[英]How to intercept Jackson JsonNodes deserialization
在我的程序中,我正在做:
private static final ObjectMapper MAPPER = new GridJettyObjectMapper();
....
JsonNode node = MAPPER.readTree(content);
我的JSON包含許多SAME字符串,我想攔截readTree()方法並將其放入TextNodes緩存的字符串中(例如,使用WeakHashMap)。
我希望這會節省很多內存。 現在,我的應用程序只是OOME,在堆轉儲中,我在TextNodes中看到數百萬個相同的Strings。
任何想法如何做到這一點?
經過一些調試后,我更換了
JsonNode node = MAPPER.readTree(content);
與
Pojo p = MAPPER.readValue(Pojo.class, new PojoDeserializer());
並在不會生成許多TextNode的PojoDeserializer邏輯中實現。 我使用了JsonParser流API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.