【发布时间】:2015-04-26 05:14:59
【问题描述】:
我需要在 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 本身上执行的子数组操作?
感谢和问候..
【问题讨论】:
标签: java arrays json jackson fasterxml