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.

댓글

이 블로그의 인기 게시물

Using the MinIO API via curl

The logs of the kubelet service

how to delete all issues on project in sentry, 센트리 이슈 삭제하기

Reactjs datetime range picker

운영체제를 개발 방법

In HBase, the "memory to disk" flush operation

Kafka consumer in a Spring Boot application using a scheduled task

[Ubuntu] Apache2.4.x 설치

difference between truncate and truncate_preserve in hbase

dagrun_timeout of Airflow