Yes, the Jackson manual parser design is quite different from other libraries. In particular, you will notice that JsonNode has most of the functions that you would typically associate with array nodes from other APIs. As such, you do not need to cast to an ArrayNode to use. Here's an example:

JSON:

{
    "objects" : ["One", "Two", "Three"]
}

Code:

final String json = "{\"objects\" : [\"One\", \"Two\", \"Three\"]}";

final JsonNode arrNode = new ObjectMapper().readTree(json).get("objects");
if (arrNode.isArray()) {
    for (final JsonNode objNode : arrNode) {
        System.out.println(objNode);
    }
}

Output:

"One"
"Two"
"Three"

Note the use of isArray to verify that the node is actually an array before iterating. The check is not necessary if you are absolutely confident in your data structure, but it's available should you need it (and this is no different from most other JSON libraries).

Answer from Perception on Stack Overflow
🌐
Baeldung
baeldung.com › home › json › jackson › working with tree model nodes in jackson
Working with Tree Model Nodes in Jackson | Baeldung
January 8, 2024 - Next, let’s look at an Array node. Each item within the Array node is itself a JsonNode, so we iterate over the Array and pass each node to the appendNodeToYaml method.
🌐
Java Code Geeks
javacodegeeks.com › home › enterprise java
Simplified Json Array Operations with JsonNode in Jackson
May 6, 2024 - When working with JSON arrays ([]), the ArrayNode class in Jackson is especially useful for handling Simplified Array Operations on JsonNode in Jackson, enabling efficient manipulation and traversal of JSON arrays within Java applications.
🌐
Medium
medium.com › @lakshmanaselvan252 › explain-about-the-jsonnode-and-arraynode-in-spring-boot-17f81c3de915
Explain About The JsonNode And ArrayNode In Spring Boot | by Lakshmana Selvan V | Medium
August 21, 2024 - In Spring Boot, working with JSON data is a common task, especially when dealing with APIs. The JsonNode and ArrayNode classes, provided by the Jackson library, are powerful tools for handling JSON data in a flexible and dynamic way.
🌐
Baeldung
baeldung.com › home › json › jackson › simplified array operations on jsonnode without typecasting in jackson
Simplified Array Operations on JsonNode Without Typecasting in Jackson | Baeldung
June 27, 2025 - JsonNode instances are immutable, meaning we can’t set properties on them. ArrayNode is a specific type of JsonNode that represents a JSON array.
🌐
TutorialsPoint
tutorialspoint.com › how-to-convert-jsonnode-to-arraynode-using-jackson-api-in-java
How to convert JsonNode to ArrayNode using Jackson API in Java?
We can convert or translate JsonNode to ArrayNode by typecasting the ArrayNode to retrieve the values using the readTree() method of ObjectMapper class and get() method for accessing the value of a specified element of an array node.
🌐
Jenkov
jenkov.com › tutorials › java-json › jackson-jsonnode.html
Jackson JsonNode
A JsonNode that represents a JSON object or JSON array can be traversed like any other object graph. You do so by iterating its nested fields (or nested elements in case of an array).
Find elsewhere
🌐
Microsoft Learn
learn.microsoft.com › en-us › dotnet › api › system.text.json.nodes.jsonarray
JsonArray Class (System.Text.Json.Nodes) | Microsoft Learn
Represents a mutable JSON array. public ref class JsonArray sealed : System::Text::Json::Nodes::JsonNode, System::Collections::Generic::ICollection<System::Text::Json::Nodes::JsonNode ^>, System::Collections::Generic::IEnumerable<System::Te...
🌐
Baeldung
baeldung.com › home › json › jackson › get all the keys in a json string using jsonnode
Get all the Keys in a JSON String Using JsonNode | Baeldung
May 11, 2024 - The JsonNode class represents a node in the JSON tree model. It can express JSON data in the following data types: Array, Binary, Boolean, Missing, Null, Number, Object, POJO, String.
🌐
Mkyong
mkyong.com › home › java › jackson tree model examples
Jackson Tree Model examples | mkyong.com
April 29, 2024 - The following example shows how Jackson TreeModel can traverse or access the JSON array. ... [ { "id": 1, "name": { "first": "Yong", "last": "Mook Kim" }, "contact": [ { "type": "phone/home", "ref": "111-111-1234" }, { "type": "phone/work", "ref": "222-222-2222" } ] }, { "id": 2, "name": { "first": "Yong", "last": "Zi Lap" }, "contact": [ { "type": "phone/home", "ref": "333-333-1234" }, { "type": "phone/work", "ref": "444-444-4444" } ] } ] ... JsonNode rootArray = mapper.readTree(new File("c:\\projects\\user2.json")); for (JsonNode root : rootArray) { // get node like the above example 1 }
🌐
YouTube
youtube.com › java inspires
Jackson API:How to convert JsonNode to ArrayNode in Java? | Java Inspires - YouTube
In this video, we will see how to read a array type field from json object means converting JsonNode object to ArrayNode object.https://javainspires.blogspot...
Published: June 1, 2021
Views: 3K
🌐
Fasterxml
fasterxml.github.io › jackson-core › javadoc › 1.9 › org › codehaus › jackson › node › ArrayNode.html
ArrayNode (Jackson JSON Processor)
For array nodes, index specifies exact location within array and allows for efficient iteration over child elements (underlying storage is guaranteed to be efficiently indexable, i.e. has random-access to elements).
🌐
Fasterxml
fasterxml.github.io › jackson-databind › javadoc › 2.6 › com › fasterxml › jackson › databind › node › ArrayNode.html
ArrayNode (jackson-databind 2.6.0 API)
For array nodes, index specifies exact location within array and allows for efficient iteration over child elements (underlying storage is guaranteed to be efficiently indexable, i.e. has random-access to elements).