簡體   English   中英

如何攔截Jackson JsonNodes反序列化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM