Jackson library

In the Jackson library, the JsonNode class represents a node in a JSON tree. To extract a list (e.g., an array) from a JsonNode, you can use methods like get, elements(), or findValues. Here's how you can achieve this:

Example: Extracting a List from JsonNode

Given JSON:

{
  "names": ["Alice", "Bob", "Charlie"]
}

Java Code:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class JsonNodeExample {
    public static void main(String[] args) throws Exception {
        String jsonString = "{ \"names\": [\"Alice\", \"Bob\", \"Charlie\"] }";

        // Parse JSON
        ObjectMapper mapper = new ObjectMapper();
        JsonNode rootNode = mapper.readTree(jsonString);

        // Extract the "names" array as a JsonNode
        JsonNode namesNode = rootNode.get("names");

        // Convert JsonNode array to a List
        List<String> names = new ArrayList<>();
        if (namesNode.isArray()) {
            for (JsonNode nameNode : namesNode) {
                names.add(nameNode.asText());
            }
        }

        // Print the list
        System.out.println(names); // Output: [Alice, Bob, Charlie]
    }
}

Explanation

  1. Parse JSON: Use ObjectMapper.readTree to parse the JSON string into a JsonNode object.
  2. Access Array Node: Use rootNode.get("names") to get the JsonNode representing the array.
  3. Iterate and Convert: Check if the node is an array using isArray(). Iterate over its elements and convert each to the desired type (String in this case) using methods like asText().

Notes

  • Use asText(), asInt(), or asDouble() for type conversion.
  • Always check if the node is of the expected type (isArray, isTextual, etc.) to avoid runtime issues.

댓글

이 블로그의 인기 게시물

Fundamentals of English Grammar #1

The logs of the kubelet service

Firebase with Flutter

Using venv in Python

max_active_runs of Airflow

운영체제를 개발 방법

Auto-populate a calendar in an MUI (Material-UI) TextField component

Decimal (ASCII) value of each letter in the alphabet

"Do you happen to"

php 에서의 static 변수