我需要在 Java 中的 fastxml jackson 中获取 ArrayNode 对象的子数组。
为了更清楚,
- 我有一个 fasterxml jackson 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”对象是一个 fasterxml jackson JsonNode 并包含一个数组。
以上工作但效率很低,因为内部 while 循环运行“arrayNodeSize - 限制”次数以逐个删除 ArrayNode 对象。
是否有我们可以在 ArrayNode 或强制转换的 JsonNode 本身上执行的子数组操作?
谢谢并恭祝安康..