Programming & Development / April 18, 2025

Parse JSON String and Extract Data Using JsonNode in Java (Jackson)

Java JsonNode Jackson ObjectMapper parse JSON extract data JSON array get first item nested JSON iterator

Need to extract data from a JSON string in Java? With Jackson’s JsonNode and ObjectMapper, it’s a breeze. Here's how to parse simple, nested, and array-based JSON using JsonNode.

✅ 1. Add Jackson Dependency

Add this to your pom.xml:

xml

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version> <!-- Or latest -->
</dependency>

📦 2. Parse Simple JSON String

java

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

public class JsonNodeExample {
    public static void main(String[] args) {
        String jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";

        try {
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode jsonNode = objectMapper.readTree(jsonString);

            String name = jsonNode.get("name").asText();
            int age = jsonNode.get("age").asInt();
            String city = jsonNode.get("city").asText();

            System.out.println("Name: " + name);
            System.out.println("Age: " + age);
            System.out.println("City: " + city);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

🌐 3. Handle Nested JSON

java

String nestedJson = "{\"person\":{\"name\":\"John\",\"age\":30,\"address\":{\"city\":\"New York\",\"zip\":\"10001\"}}}";

ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(nestedJson);

JsonNode personNode = rootNode.get("person");
String name = personNode.get("name").asText();
int age = personNode.get("age").asInt();
String city = personNode.get("address").get("city").asText();
String zip = personNode.get("address").get("zip").asText();

🔁 4. Parse JSON Array and Get First Item

java

String jsonArray = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";

ObjectMapper mapper = new ObjectMapper();
JsonNode arrayNode = mapper.readTree(jsonArray);

if (arrayNode.isArray()) {
    Iterator<JsonNode> itr = arrayNode.iterator();

    if (itr.hasNext()) {
        JsonNode firstItem = itr.next();
        String name = firstItem.get("name").asText();
        int age = firstItem.get("age").asInt();

        System.out.println("First item - Name: " + name + ", Age: " + age);
    }
}

📝 Summary

TaskHowParse JSON stringobjectMapper.readTree(jsonString)Access simple fieldjsonNode.get("key").asText()/asInt()Access nested fieldjsonNode.get("parent").get("child")Handle arrayif (jsonNode.isArray()) + iterate using .iterator()Get first item from arrayiterator.hasNext() + iterator.next()


Comments

No comments yet

Add a new Comment

NUHMAN.COM

Information Technology website for Programming & Development, Web Design & UX/UI, Startups & Innovation, Gadgets & Consumer Tech, Cloud Computing & Enterprise Tech, Cybersecurity, Artificial Intelligence (AI) & Machine Learning (ML), Gaming Technology, Mobile Development, Tech News & Trends, Open Source & Linux, Data Science & Analytics

Categories

Tags

©{" "} Nuhmans.com . All Rights Reserved. Designed by{" "} HTML Codex