JSON Tree Model কি এবং এর ভূমিকা

JSON Tree Model ব্যবহার - জ্যাকসন (Jackson) - Java Technologies

349

Jackson লাইব্রেরির একটি গুরুত্বপূর্ণ ফিচার হলো JSON Tree Model, যা JSON ডেটার সাথে কাজ করার জন্য একটি নমনীয় ও গতিশীল উপায় প্রদান করে। এটি ObjectMapper-এর মাধ্যমে JSON ডেটাকে একটি "গাছের মতো স্ট্রাকচার" (tree-like structure) হিসেবে মডেল করে। এর সাহায্যে আপনি JSON ডেটার বিভিন্ন অংশ সরাসরি অ্যাক্সেস, সংশোধন, বা নতুন নোড যুক্ত করতে পারেন।


JSON Tree Model কিভাবে কাজ করে?

Jackson-এর JsonNode ক্লাস Tree Model তৈরি করে। এই মডেলটি JSON ডেটাকে একটি node-based structure হিসেবে উপস্থাপন করে, যেখানে প্রতিটি নোড JSON ডেটার একটি অংশ (যেমন, object, array, value) উপস্থাপন করে।

মূল বৈশিষ্ট্য:

  1. ডাইনামিক প্রক্রিয়াকরণ: Tree Model ব্যবহার করে JSON ডেটার সাথে সরাসরি ইন্টারঅ্যাক্ট করা যায়, যেটা POJO বা ক্লাস মডেল ছাড়াই কাজ করে।
  2. নেস্টেড ডেটা পরিচালনা: নেস্টেড JSON ডেটার ক্ষেত্রে Tree Model অনেক সহজ এবং কার্যকর।
  3. ডেটা ম্যানিপুলেশন: Tree Model JSON ডেটা পড়া, লেখা, এবং সম্পাদনার জন্য আদর্শ।

JSON Tree Model ব্যবহার করার ধাপসমূহ

  1. JSON ডেটা Tree Model-এ রূপান্তর:
    ObjectMapper ক্লাসের মাধ্যমে JSON ডেটাকে Tree Model-এ রূপান্তর করতে readTree() মেথড ব্যবহার করা হয়।
  2. ডেটা অ্যাক্সেস:
    Tree Model-এর মাধ্যমে JsonNode ক্লাস ব্যবহার করে JSON ডেটা অ্যাক্সেস এবং সংশোধন করা যায়।
  3. ডেটা পরিবর্তন করে JSON-এ রূপান্তর:
    Tree Model থেকে পরিবর্তিত ডেটাকে JSON ফর্ম্যাটে রূপান্তর করতে writeValueAsString() ব্যবহার করা হয়।

উদাহরণ:

১. JSON Tree Model তৈরি এবং ডেটা অ্যাক্সেস করা:

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

public class JsonTreeModelExample {
    public static void main(String[] args) throws Exception {
        String json = """
        {
            "id": 101,
            "name": "John Doe",
            "address": {
                "city": "Dhaka",
                "country": "Bangladesh"
            },
            "skills": ["Java", "Spring", "Jackson"]
        }
        """;

        // ObjectMapper ব্যবহার করে Tree Model তৈরি
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode rootNode = objectMapper.readTree(json);

        // ডেটা অ্যাক্সেস করা
        int id = rootNode.get("id").asInt();
        String name = rootNode.get("name").asText();
        String city = rootNode.get("address").get("city").asText();

        System.out.println("ID: " + id);
        System.out.println("Name: " + name);
        System.out.println("City: " + city);

        // Array ডেটা অ্যাক্সেস
        JsonNode skillsNode = rootNode.get("skills");
        for (JsonNode skill : skillsNode) {
            System.out.println("Skill: " + skill.asText());
        }
    }
}

আউটপুট:

ID: 101
Name: John Doe
City: Dhaka
Skill: Java
Skill: Spring
Skill: Jackson

২. JSON Tree Model-এ ডেটা পরিবর্তন:

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

public class JsonTreeModelModification {
    public static void main(String[] args) throws Exception {
        String json = """
        {
            "id": 101,
            "name": "John Doe",
            "address": {
                "city": "Dhaka",
                "country": "Bangladesh"
            }
        }
        """;

        // ObjectMapper ব্যবহার করে Tree Model তৈরি
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode rootNode = objectMapper.readTree(json);

        // ডেটা পরিবর্তন
        ((ObjectNode) rootNode).put("name", "Jane Doe"); // নাম পরিবর্তন
        ((ObjectNode) rootNode).put("age", 30); // নতুন ফিল্ড যুক্ত

        // JSON-এ রূপান্তর এবং প্রিন্ট
        String modifiedJson = objectMapper.writeValueAsString(rootNode);
        System.out.println(modifiedJson);
    }
}

আউটপুট:

{
  "id": 101,
  "name": "Jane Doe",
  "address": {
    "city": "Dhaka",
    "country": "Bangladesh"
  },
  "age": 30
}

JSON Tree Model-এর ভূমিকা

  1. ডাইনামিক ডেটা প্রসেসিং: JSON Tree Model ব্যবহার করে ডেটা ক্লাস মডেল ছাড়াই সরাসরি পরিচালনা করা যায়।
  2. কমপ্লেক্স নেস্টেড স্ট্রাকচার: নেস্টেড JSON ডেটার জন্য Tree Model একটি কার্যকর পদ্ধতি।
  3. ডেটা ম্যানিপুলেশন: Tree Model সহজে JSON ডেটা যোগ, মুছে ফেলা, বা পরিবর্তন করার ক্ষমতা প্রদান করে।
  4. ডেটা বিশ্লেষণ: Tree Model ডেটার বিভিন্ন অংশ বিশ্লেষণ বা অ্যাক্সেস করার জন্য আদর্শ।

JSON Tree Model একটি ফ্লেক্সিবল এবং শক্তিশালী টুল, যা Jackson-এর মাধ্যমে JSON ডেটা পরিচালনা করার সময় উন্নত নিয়ন্ত্রণ ও গতিশীলতা প্রদান করে। এটি বিশেষভাবে উপযোগী যখন JSON ডেটা পরিবর্তন বা বিশ্লেষণের প্রয়োজন হয়।

Content added By
Promotion

Are you sure to start over?

Loading...