JSON数据的操作,系列文章:
《Jackson的核心类与API方法:ObjectMapper、JsonNode、ObjectNode、ArrayNode》
《Jackson的使用与创建Jackson工具类》
《Jackson使用ObjectNode对象实现JSON对象数据(一):增、删、改、查》
《Jackson使用ArrayNode对象实现JSON列表数据(二):增、删、改、查》
《Jackson实现JSON数据的合并》
Jackson 是 Java 生态中广泛使用的高性能 JSON 处理库,支持 JSON 与 Java 对象之间的双向转换。它以速度快、灵活性高、功能全面著称,尤其适合大规模数据处理场景。将 Java 对象(POJO)与 JSON 互相转换。将 JSON 解析为树形结构(JsonNode),动态访问和修改节点,适用于非结构化或动态 JSON 数据。
Jackson 库中的 ArrayNode 数组节点类是用于表示 JSON 数组的可变节点类,继承自 JsonNode,专为动态构建和操作 JSON 数组设计。支持动态添加、删除数组元素,与只读的 JsonNode 形成对比,可存储混合类型元素(如字符串、数值、嵌套对象或其他数组),常与 ObjectNode 配合构建复杂 JSON 结构。
ArrayNode 数组节点类也是 JsonNode 中的一个常用子类,甚至 JsonNode 提供的个别方法就是专门为 ArrayNode 数组节点设计的。
ArrayNode 类常用 API 及其说明:
返回值 | 方法 | 说明 |
---|---|---|
ArrayNode | add(String value) | 将值 value 添加到数组节点的末尾。该方法有多个重载形式,支持添加其他类型的值。 |
ArrayNode | addAll(ArrayNode other) | 将另一个数组节点拼接到本数据节点的末尾。 |
ArrayNode | addAll(Collection<? extends JsonNode> nodes) | 在末尾创造一个新的 ArrayNode 子节点。 |
ArrayNode | addNull() | 在末尾创造一个新的 NullNode 子节点。 |
ObjectNode | addObject() | 在末尾创建一个新的 ObjectNode 子节点。 |
JsonNode | get(int index) | 获取指定索引位置的节点对象。 |
JsonNode | get(String fieldName) | 获取指定键名位置的节点对象。 |
ArrayNode | insert(int index, JsonNode value) | 在指定索引位置插入 value 节点对象,该方法有多种重载形式,支持插入其他类型的值。 |
ArrayNode | insert(int index, String value) | 在指定索引位置插入 value 值,该方法有多种重载形式,支持插入其他类型的值。 |
ArrayNode | insertArray(int index) | 在指定索引位置插入数组节点。 |
ArrayNode | insertNull(int index) | 在指定索引位置插入 Null 节点。 |