Skill

XML এবং JSON এর মধ্যে রূপান্তর

অর্গ.জেসন (Org.Json) - Java Technologies

249

org.json লাইব্রেরি JSON ডাটা ম্যানিপুলেশনের জন্য খুবই কার্যকরী, তবে XML এবং JSON এর মধ্যে রূপান্তর (Conversion) করার জন্য সরাসরি কোনো বিল্ট-ইন ফিচার নেই। তবে XML এবং JSON এর মধ্যে রূপান্তর করা সম্ভব, এবং এর জন্য কিছু পদ্ধতি ব্যবহার করা যেতে পারে। এখানে, আমরা দেখব কিভাবে XML এবং JSON এর মধ্যে রূপান্তর করা যায়, এবং এটি Java এ কিভাবে বাস্তবায়িত করা যায়।

XML থেকে JSON এ রূপান্তর

XML (Extensible Markup Language) এবং JSON (JavaScript Object Notation) দুইটি আলাদা ডাটা ফরম্যাট হলেও, তাদের কাঠামো একে অপরের সাথে তুলনা করা যায়। JSON সাধারনত আরও কমপ্যাক্ট এবং মানুষের পঠনযোগ্য ফরম্যাট, যেখানে XML এর কাঠামো একটু ভারী এবং বেশি নির্দিষ্ট।

org.json লাইব্রেরি XML এর সাথে কাজ করার জন্য XML.toJSONObject() মেথড সরবরাহ করে, যা XML ডকুমেন্টকে JSON অবজেক্টে রূপান্তর করতে সাহায্য করে।

উদাহরণ: XML থেকে JSON এ রূপান্তর

import org.json.JSONObject;
import org.json.XML;

public class XMLToJSONExample {
    public static void main(String[] args) {
        // XML স্ট্রিং
        String xmlString = "<person>" +
                               "<name>John Doe</name>" +
                               "<age>30</age>" +
                               "<address>" +
                                   "<street>123 Main St</street>" +
                                   "<city>Anytown</city>" +
                               "</address>" +
                           "</person>";

        // XML থেকে JSON এ রূপান্তর
        JSONObject jsonObject = XML.toJSONObject(xmlString);

        // JSON অবজেক্ট প্রিন্ট করা
        System.out.println(jsonObject.toString(4));  // Pretty print with 4-space indentation
    }
}

আউটপুট:

{
    "person": {
        "name": "John Doe",
        "age": 30,
        "address": {
            "street": "123 Main St",
            "city": "Anytown"
        }
    }
}

এই উদাহরণে, XML.toJSONObject() মেথডটি XML স্ট্রিংকে JSON অবজেক্টে রূপান্তরিত করেছে। এর মাধ্যমে XML এর এলিমেন্ট গুলো JSON কিজে রূপান্তরিত হয়েছে এবং অভ্যন্তরীণ অবজেক্টগুলোও সঠিকভাবে ম্যানেজ করা হয়েছে।

JSON থেকে XML এ রূপান্তর

এখন, JSON অবজেক্টকে XML ফরম্যাটে রূপান্তর করা যেতে পারে XML.toString() মেথড ব্যবহার করে। এই মেথডটি JSON অবজেক্টকে একটি XML স্ট্রিং এ রূপান্তরিত করে।

উদাহরণ: JSON থেকে XML এ রূপান্তর

import org.json.JSONObject;
import org.json.XML;

public class JSONToXMLExample {
    public static void main(String[] args) {
        // JSON অবজেক্ট তৈরি
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "John Doe");
        jsonObject.put("age", 30);
        
        JSONObject address = new JSONObject();
        address.put("street", "123 Main St");
        address.put("city", "Anytown");

        jsonObject.put("address", address);

        // JSON থেকে XML এ রূপান্তর
        String xmlString = XML.toString(jsonObject);

        // XML স্ট্রিং প্রিন্ট করা
        System.out.println(xmlString);
    }
}

আউটপুট:

<name>John Doe</name>
<age>30</age>
<address>
    <street>123 Main St</street>
    <city>Anytown</city>
</address>

এখানে XML.toString() মেথডটি JSON অবজেক্টকে একটি XML স্ট্রিং এ রূপান্তরিত করেছে, এবং আপনি দেখতে পাচ্ছেন যে JSON অবজেক্টের কাঠামো XML ফরম্যাটে সঠিকভাবে রূপান্তরিত হয়েছে।

XML এবং JSON এর মধ্যে রূপান্তর করার সময় কিছু বিষয় মনে রাখা দরকার

  1. XML এর অ্যাট্রিবিউট এবং JSON এর কিজ: XML এর অ্যাট্রিবিউটগুলি JSON এ কিজের সাথে মান হিসেবে প্রদর্শিত হয়। যদি XML ডকুমেন্টে অ্যাট্রিবিউট থাকে, তবে তা JSON এ কিজ হিসেবে চিহ্নিত হবে।
  2. এলিমেন্টের নাম: XML এর ট্যাগ নামগুলি JSON অবজেক্টের কিজ হিসেবে রূপান্তরিত হয়।
  3. নেস্টেড স্ট্রাকচার: XML এর নেস্টেড স্ট্রাকচার সঠিকভাবে JSON এ রূপান্তরিত হয়, যেখানে প্রতিটি সেন্ট্রাল কন্টেইনার (যেমন <person>) একটি JSON অবজেক্টে রূপান্তরিত হয়।
  4. রূপান্তরটি সঠিকভাবে করা: রূপান্তর করার সময়, আপনার XML এবং JSON এর কাঠামো সঠিকভাবে মেলাতে হবে, যাতে ডাটা হারানো না হয়। JSON-এ এমন কিছু ধারণা যেমন অ্যারে এবং অবজেক্টের ভিন্নভাবে প্রেজেন্টেশন থাকে, যা XML-এ সাধারণত সোজাসুজি থাকে না।

সারাংশ

org.json লাইব্রেরির মাধ্যমে সহজেই XML এবং JSON এর মধ্যে রূপান্তর করা যায়। XML.toJSONObject() মেথড XML স্ট্রিংকে JSON অবজেক্টে রূপান্তর করে এবং XML.toString() মেথড JSON অবজেক্টকে XML স্ট্রিংয়ে রূপান্তর করে। এই দুটি পদ্ধতি খুবই কার্যকরী এবং সহজে ব্যবহারযোগ্য যখন আপনি XML এবং JSON ডাটা ফরম্যাটের মধ্যে রূপান্তর করতে চান।


Content added By

XML এবং JSON হল দুটি জনপ্রিয় ডেটা বিনিময় ফরম্যাট, এবং প্রায়ই একে অপরের মধ্যে রূপান্তর করতে হয়। JSON এবং XML এর মধ্যে রূপান্তর করার জন্য org.json লাইব্রেরি সরাসরি কোন মেথড প্রদান না করলেও, XML ডেটা পড়ে তা JSON ফরম্যাটে রূপান্তর করা সম্ভব। সাধারণত, XML থেকে JSON রূপান্তর করতে org.json.XML ক্লাস ব্যবহার করা হয়।

এখানে XML ডেটাকে JSON ফরম্যাটে রূপান্তর করার জন্য একটি উদাহরণ দেওয়া হলো।

XML থেকে JSON রূপান্তর করার উদাহরণ

XML ডেটাকে JSON ফরম্যাটে রূপান্তর করতে org.json.XML.toJSONObject() মেথড ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হচ্ছে:

প্রয়োজনীয় লাইব্রেরি

প্রথমে, আপনাকে org.json লাইব্রেরিটি অন্তর্ভুক্ত করতে হবে। Maven ব্যবহার করলে আপনার pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20210307</version>
</dependency>

কোড উদাহরণ: XML থেকে JSON রূপান্তর

import org.json.JSONObject;
import org.json.XML;

public class XMLToJSONExample {
    public static void main(String[] args) {
        try {
            // XML স্ট্রিং
            String xmlString = "<person>"
                                 + "<name>John Doe</name>"
                                 + "<age>30</age>"
                                 + "<email>john.doe@example.com</email>"
                                 + "<address>"
                                 + "<street>123 Main St</street>"
                                 + "<city>New York</city>"
                                 + "<zipcode>10001</zipcode>"
                                 + "</address>"
                                 + "</person>";

            // XML থেকে JSON এ রূপান্তর
            JSONObject jsonObject = XML.toJSONObject(xmlString);
            
            // JSON আউটপুট
            System.out.println(jsonObject.toString(4)); // 4 হল ইনডেন্টেশন (যাতে JSON ফরম্যাটটি সুন্দরভাবে প্রদর্শিত হয়)
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোড বিশ্লেষণ

  1. XML.toJSONObject(): এই মেথডটি XML স্ট্রিং গ্রহণ করে এবং এটি একটি JSONObject তে রূপান্তর করে। JSON ফরম্যাটে রূপান্তর করার জন্য এটি XML এর ট্যাগগুলিকে কীগুলির হিসেবে বিবেচনা করে।
  2. jsonObject.toString(4): এটি JSON অবজেক্টটিকে স্ট্রিং আউটপুটে রূপান্তর করে এবং 4 ইনডেন্টেশন ব্যবহার করে JSON ফরম্যাটটিকে সুন্দরভাবে প্রদর্শন করে।

XML উদাহরণ:

<person>
  <name>John Doe</name>
  <age>30</age>
  <email>john.doe@example.com</email>
  <address>
    <street>123 Main St</street>
    <city>New York</city>
    <zipcode>10001</zipcode>
  </address>
</person>

JSON আউটপুট:

{
    "person": {
        "name": "John Doe",
        "age": 30,
        "email": "john.doe@example.com",
        "address": {
            "street": "123 Main St",
            "city": "New York",
            "zipcode": "10001"
        }
    }
}

এখানে, XML ট্যাগগুলির মানগুলি JSON অবজেক্টের কীগুলির হিসেবে রূপান্তরিত হয়েছে, এবং এটি একটি সুন্দর, পাঠযোগ্য JSON আউটপুট দিয়েছে।

আরও উন্নত কাস্টমাইজেশন

  1. Attributes Handling: যদি XML ডকুমেন্টে অ্যাট্রিবিউট থাকে, তাহলে XML.toJSONObject() মেথড সেটিকে @ চিহ্ন দিয়ে JSON অবজেক্টে কীগুলির হিসেবে রাখবে। আপনি যদি অ্যাট্রিবিউটগুলো ভিন্নভাবে হ্যান্ডেল করতে চান, তবে অতিরিক্ত কাস্টমাইজেশন করতে হবে।
  2. CDATA Handling: যদি XML ডেটায় CDATA থাকে, তবে সেই অংশটি JSON-এ স্ট্রিং হিসেবে রাখা হবে।

উদাহরণ: XML অ্যাট্রিবিউট

<person name="John Doe" age="30">
    <email>john.doe@example.com</email>
</person>

এই XML ডেটা JSON-এ রূপান্তরিত হলে:

{
    "person": {
        "@name": "John Doe",
        "@age": "30",
        "email": "john.doe@example.com"
    }
}

এখানে, @name এবং @age অ্যাট্রিবিউট হিসেবে উপস্থিত রয়েছে।

সারাংশ

XML থেকে JSON এ রূপান্তর করা org.json.XML.toJSONObject() মেথডের মাধ্যমে সহজেই করা যায়। এই পদ্ধতিটি XML ডেটাকে একটি JSON অবজেক্টে রূপান্তর করতে সহায়তা করে, যা ওয়েব অ্যাপ্লিকেশন বা API-তে ডেটা ইন্টারচেঞ্জের জন্য খুবই কার্যকর। XML ডেটা JSON ফরম্যাটে রূপান্তর করার মাধ্যমে ডেটা হালকা, মানব-পঠনযোগ্য এবং আরও সহজে প্রসেসযোগ্য হয়ে ওঠে।

Content added By

org.json লাইব্রেরি Java-তে JSON ডেটা পরিচালনা করতে ব্যবহৃত হয় এবং এটি JSON ডেটাকে XML ফরম্যাটে রূপান্তর করার জন্য একটি সহজ পদ্ধতি প্রদান করে। যদিও JSON এবং XML উভয়ই ডাটা স্টোরেজ এবং ডাটা ট্রান্সফার ফরম্যাট হিসেবে ব্যবহৃত হয়, তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে, যেমন XML-এ ট্যাগ এবং অ্যাট্রিবিউট থাকে, যেখানে JSON কীর-ভ্যালু পেয়ার ব্যবহার করে।

এই টিউটোরিয়ালে আমরা দেখব কিভাবে org.json লাইব্রেরি ব্যবহার করে JSON ডেটাকে XML ফরম্যাটে রূপান্তর করা যায়।

JSON থেকে XML রূপান্তরের পদ্ধতি

org.json লাইব্রেরি একটি XML ক্লাস প্রদান করে যা JSON ডেটা কে XML ফরম্যাটে রূপান্তর করতে সাহায্য করে। নিচে একটি উদাহরণ দেখানো হল যেখানে JSON ডেটা XML এ রূপান্তর করা হচ্ছে।

উদাহরণ: JSON থেকে XML এ রূপান্তর করা

import org.json.JSONObject;
import org.json.XML;

public class JSONToXMLExample {
    public static void main(String[] args) {
        // JSON ডেটা স্ট্রিং
        String jsonString = "{"
                + "\"employee\": {"
                + "\"name\": \"John Doe\","
                + "\"age\": 30,"
                + "\"address\": {"
                + "\"street\": \"123 Main St\","
                + "\"city\": \"New York\","
                + "\"zipcode\": \"10001\""
                + "},"
                + "\"skills\": [\"Java\", \"Python\", \"JavaScript\"],"
                + "\"isPermanent\": true,"
                + "\"salary\": 75000.50"
                + "}"
                + "}";

        // JSON অবজেক্ট তৈরি
        JSONObject jsonObject = new JSONObject(jsonString);

        // JSON অবজেক্টকে XML ফরম্যাটে রূপান্তর করা
        String xmlString = XML.toString(jsonObject);

        // XML আউটপুট করা
        System.out.println("XML Output:\n" + xmlString);
    }
}

কোডের ব্যাখ্যা

  1. JSON স্ট্রিং: প্রথমে একটি JSON ডেটা স্ট্রিং তৈরি করা হয়েছে, যা একটি employee অবজেক্ট ধারণ করে, এবং এর মধ্যে কিছু প্রপার্টি (যেমন, নাম, বয়স, ঠিকানা, স্কিলস, বেতন ইত্যাদি) রয়েছে।
  2. JSONObject তৈরি করা: new JSONObject(jsonString) ব্যবহার করে JSON স্ট্রিং থেকে একটি JSONObject তৈরি করা হয়েছে।
  3. XML.toString(jsonObject): XML.toString() মেথড ব্যবহার করে JSON অবজেক্টটিকে XML ফরম্যাটে রূপান্তর করা হয়েছে।
  4. XML আউটপুট করা: রূপান্তরিত XML স্ট্রিংটি কনসোল আউটপুট হিসেবে প্রিন্ট করা হয়েছে।

আউটপুট

XML Output:
<employee>
    <name>John Doe</name>
    <age>30</age>
    <address>
        <street>123 Main St</street>
        <city>New York</city>
        <zipcode>10001</zipcode>
    </address>
    <skills>Java</skills>
    <skills>Python</skills>
    <skills>JavaScript</skills>
    <isPermanent>true</isPermanent>
    <salary>75000.5</salary>
</employee>

এখানে, JSON অবজেক্টটি XML ট্যাগে রূপান্তরিত হয়েছে। মূল JSON ডেটার মধ্যে যা ছিল তা XML ট্যাগের মধ্যে সন্নিবেশিত হয়েছে। skills অ্যারে থেকেও প্রতিটি ভ্যালু আলাদাভাবে XML ট্যাগে রূপান্তরিত হয়েছে।

XML রূপান্তরের আরও কিছু বৈশিষ্ট্য

  • XML.toString(): এটি JSON অবজেক্টকে XML স্ট্রিং এ রূপান্তর করতে ব্যবহৃত হয়।
  • অ্যারে এক্সপ্যানশন: যদি JSON-এ অ্যারে থাকে, তবে প্রতিটি অ্যারে আইটেমকে আলাদা XML ট্যাগ হিসাবে রূপান্তরিত করা হয়।
  • নেস্টেড অবজেক্ট: JSON অবজেক্টের মধ্যে যদি অন্যান্য অবজেক্ট থাকে, তবে সেগুলিও XML ট্যাগ হিসেবে রূপান্তরিত হয়।

JSON থেকে XML রূপান্তর করার সময় কিছু গুরুত্বপূর্ণ বিষয়

  • এম্বেডেড অবজেক্ট: JSON ডেটাতে যদি কোনো অবজেক্ট থাকে, তবে XML রূপান্তরে সেগুলি <key>value</key> ট্যাগের মধ্যে থাকবে।
  • অ্যারে রূপান্তর: JSON অ্যারে রূপান্তর করার সময় প্রতিটি আইটেম আলাদাভাবে XML ট্যাগ হিসেবে রূপান্তরিত হবে।
  • অ্যাট্রিবিউটস: XML এর ট্যাগগুলির জন্য আপনি অ্যাট্রিবিউটও ব্যবহার করতে পারেন, তবে JSON-এর স্ট্যান্ডার্ড কীর-ভ্যালু পেয়ার ফরম্যাটে অ্যাট্রিবিউট সমর্থন নেই।

সারাংশ

org.json লাইব্রেরির XML ক্লাস ব্যবহার করে খুব সহজেই JSON ডেটাকে XML ফরম্যাটে রূপান্তর করা যায়। এই লাইব্রেরির মাধ্যমে আপনি JSON থেকে XML এ ডেটা রূপান্তর করতে পারবেন, যা বিভিন্ন ধরনের অ্যাপ্লিকেশন বা ইন্টারফেসের মধ্যে ডেটা বিনিময়ে সহায়ক হতে পারে। JSON এবং XML উভয় ফরম্যাটই ডেটা সংরক্ষণ এবং ট্রান্সফারের জন্য ব্যবহৃত হয়, এবং এই রূপান্তর প্রক্রিয়া সহজতর করে তোলে।

Content added By

অর্গ.জেসন (Org.Json) লাইব্রেরি Java-তে JSON ডাটা ম্যানিপুলেশন এবং স্টোরেজের জন্য একটি জনপ্রিয় টুল। JSON এবং XML উভয়ই ডাটা বিনিময়ের জন্য ব্যবহৃত হয়, তবে কখনো কখনো ডাটা XML থেকে JSON বা JSON থেকে XML কনভার্ট করতে হতে পারে। এই ধরনের কনভার্শন কার্যক্রমে অর্গ.জেসন লাইব্রেরি সাহায্য করতে পারে।

যেহেতু org.json লাইব্রেরি সরাসরি XML থেকে JSON বা JSON থেকে XML কনভার্শনের জন্য কোনও মেথড সরবরাহ করে না, তবে আমরা XML.toJSONObject() এবং JSONObject.toXML() মেথড ব্যবহার করে এই কনভার্শন সম্পন্ন করতে পারি।

XML থেকে JSON কনভার্শন

XML ডাটাকে JSON এ কনভার্ট করতে XML.toJSONObject() মেথড ব্যবহার করা হয়। এই মেথড XML স্ট্রিং গ্রহণ করে এবং একটি JSONObject রিটার্ন করে।

JSON থেকে XML কনভার্শন

JSON ডাটাকে XML এ কনভার্ট করতে JSONObject.toXML() মেথড ব্যবহার করা হয়। এটি JSON অবজেক্ট গ্রহণ করে এবং একটি XML স্ট্রিং রিটার্ন করে।

উদাহরণ: XML থেকে JSON কনভার্শন

নিম্নলিখিত উদাহরণটি দেখাবে কিভাবে একটি XML স্ট্রিংকে JSON এ কনভার্ট করা যায়:

import org.json.JSONObject;
import org.json.XML;

public class XMLToJSONExample {

    public static void main(String[] args) {
        // XML স্ট্রিং
        String xmlString = "<person><name>John</name><age>30</age><city>New York</city></person>";

        // XML থেকে JSON কনভার্ট করা
        JSONObject jsonObject = XML.toJSONObject(xmlString);

        // JSON প্রিন্ট করা
        System.out.println("Converted JSON: " + jsonObject.toString());
    }
}

কোডের ব্যাখ্যা

  1. String xmlString = "John30New York";
    এখানে একটি XML স্ট্রিং তৈরি করা হয়েছে।
  2. JSONObject jsonObject = XML.toJSONObject(xmlString);
    XML.toJSONObject() মেথড ব্যবহার করে XML স্ট্রিংটিকে JSON অবজেক্টে কনভার্ট করা হয়েছে।
  3. System.out.println(jsonObject.toString());
    কনভার্ট করা JSON অবজেক্টটি কনসোলে প্রিন্ট করা হয়েছে।

আউটপুট:

{"person":{"name":"John","age":30,"city":"New York"}}

উদাহরণ: JSON থেকে XML কনভার্শন

এখন, JSON ডাটাকে XML এ কনভার্ট করার উদাহরণ দেখুন:

import org.json.JSONObject;
import org.json.XML;

public class JSONToXMLExample {

    public static void main(String[] args) {
        // JSON অবজেক্ট তৈরি
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "John");
        jsonObject.put("age", 30);
        jsonObject.put("city", "New York");

        // JSON থেকে XML কনভার্ট করা
        String xmlString = XML.toString(jsonObject);

        // XML প্রিন্ট করা
        System.out.println("Converted XML: " + xmlString);
    }
}

কোডের ব্যাখ্যা

  1. JSONObject jsonObject = new JSONObject();
    একটি JSONObject তৈরি করা হয়েছে এবং এতে তিনটি কিপ-ভ্যালু পেয়ার যোগ করা হয়েছে।
  2. String xmlString = XML.toString(jsonObject);
    XML.toString() মেথড ব্যবহার করে JSON অবজেক্টটিকে XML স্ট্রিংয়ে কনভার্ট করা হয়েছে।
  3. System.out.println("Converted XML: " + xmlString);
    কনভার্ট করা XML স্ট্রিংটি কনসোলে প্রিন্ট করা হয়েছে।

আউটপুট:

<name>John</name><age>30</age><city>New York</city>

JSON থেকে XML কনভার্শন এর ক্ষেত্রে কাস্টমাইজেশন

যদি XML এর কিছু বিশেষ কাঠামো বা এ্যাট্রিবিউট দরকার হয়, তবে toString() মেথডের বিভিন্ন প্যারামিটার ব্যবহার করে কাস্টমাইজ করা যেতে পারে। উদাহরণস্বরূপ, toString() মেথডের মাধ্যমে root element বা বিশেষ formatting প্রয়োগ করা যেতে পারে।

String xmlString = XML.toString(jsonObject, "person");

এতে XML এর রুট এলিমেন্ট হিসেবে person যোগ হবে।

উপসংহার

অর্গ.জেসন (Org.Json) লাইব্রেরি ব্যবহার করে সহজেই JSON এবং XML এর মধ্যে কনভার্শন করা সম্ভব। XML.toJSONObject() এবং JSONObject.toString() মেথডের মাধ্যমে আপনি XML থেকে JSON এবং JSON থেকে XML কনভার্ট করতে পারবেন। এই কনভার্শন খুবই কার্যকরী যখন বিভিন্ন সিস্টেমের মধ্যে ডাটা আদান-প্রদান করতে হয়, বিশেষত যখন একটি সিস্টেম XML ব্যবহার করে এবং অন্যটি JSON ব্যবহার করে।

Content added By
Promotion

Are you sure to start over?

Loading...