我需要在Java中的fasterxml jackson中获取ArrayNode对象的子阵列。获取Fasterxml Jackson ArrayNode的子阵列
更清晰,
- 我有一个包含例如fasterxml杰克逊ArrayNode对象比方说100个对象。
- 我有例如极限参数假设5
可以做一个非常原始的方法如下图所示,
ArrayNode arrayNodeRecProducts = (ArrayNode) recProducts; int arrayNodeSize = arrayNodeRecProducts.size(); if (limit >= 0 && limit < arrayNodeSize) { while (arrayNodeRecProducts.has(limit)) { arrayNodeRecProducts.remove(limit); } }
铸造到ArrayNode键入“recProducts”对象一个更快的xml jackson JsonNode并包含一个数组。
上面的工作,但效率相当低,因为内部while循环运行“arrayNodeSize - 限制”一次一个地删除ArrayNode对象的次数。
是否有一个子数组操作,我们可以在ArrayNode或CastNode JsonNode本身上执行?
谢谢,并关心..
真,这是一个比我目前所面对的,因为这只能运行通过的“限制”中指定的次数更高效。但根据你的回答,在杰克逊没有其他办法做到这一点?我甚至愿意将源JsonNode更改为Jackson中的其他类型。谢谢您的帮助。 – 2015-02-24 17:43:50
我很确定没有。你可以创建一个你自己的工具类。 – 2015-02-24 20:49:59
再次感谢henrik。但是我找到了自己的解决方案,解决了我在答复中发布的具体问题。如果强制性5小时结束,我将自己的答案标记为答案,我会将其标记为答案。 – 2015-02-26 08:46:38