Apache Xerces এর মাধ্যমে JSON Integration

XML এবং JSON এর মধ্যে রূপান্তর - অ্যাপাচি জারসেস (Apache Xerces) - Java Technologies

287

অ্যাপাচি জারসেস (Apache Xerces) মূলত XML ডকুমেন্টের পার্সিং, ভ্যালিডেশন, এবং সিরিয়ালাইজেশনের জন্য ব্যবহৃত হয়। তবে, Xerces সরাসরি JSON পার্সিং সমর্থন করে না, কারণ এটি XML ডেটার সাথে কাজ করার জন্য ডিজাইন করা হয়েছে। তবে, Xerces এর সাথে JSON ডেটা প্রসেস করার জন্য JSON/XML Conversion ব্যবহার করতে পারেন, এবং JSON ডেটা পার্স করার জন্য কিছু অতিরিক্ত লাইব্রেরি বা স্টেপ ব্যবহার করতে হয়।

যেহেতু Xerces XML প্রসেসিং লাইব্রেরি এবং JSON ডেটার জন্য কিছু সমর্থন সরাসরি না থাকার কারণে, JSON ডেটা প্রসেস করতে আপনি Xerces এর সাথে JSON parsers যেমন Jackson বা Gson ব্যবহার করতে পারেন।

এখানে Xerces এর সাথে JSON ডেটার প্রসেসিং করার জন্য বিভিন্ন পদ্ধতি আলোচনা করা হলো।

1. JSON ডেটা XML এ রূপান্তর (JSON to XML)

যেহেতু Xerces XML প্রসেসিং লাইব্রেরি, আপনি প্রথমে JSON ডেটাকে XML ফরম্যাটে রূপান্তর করতে পারেন এবং তারপর Xerces ব্যবহার করে XML ডেটা পার্স করতে পারেন।

Jackson JSON লাইব্রেরি ব্যবহার করে JSON থেকে XML রূপান্তর করা:

Jackson হল একটি জনপ্রিয় JSON প্রসেসিং লাইব্রেরি যা JSON ডেটাকে XML এ রূপান্তর করতে সক্ষম।

Jackson এবং Xerces ব্যবহার করে JSON to XML রূপান্তর উদাহরণ:
  1. Maven ডিপেনডেন্সি:
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.12.0</version>
</dependency>
<dependency>
    <groupId>org.apache.xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.12.1</version>
</dependency>
  1. JSON থেকে XML রূপান্তর কোড উদাহরণ:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import java.io.IOException;

public class JSONToXML {
    public static void main(String[] args) throws IOException {
        // JSON ডেটা
        String json = "{ \"person\": { \"name\": \"John\", \"age\": 30 }}";

        // JSON ডেটা থেকে XML এ রূপান্তর
        ObjectMapper jsonMapper = new ObjectMapper();
        Object obj = jsonMapper.readValue(json, Object.class);
        
        XmlMapper xmlMapper = new XmlMapper();
        String xml = xmlMapper.writeValueAsString(obj);

        System.out.println("XML Output: \n" + xml);
    }
}
আউটপুট (XML):
<?xml version="1.0" encoding="UTF-8"?>
<person>
    <name>John</name>
    <age>30</age>
</person>

এখানে Jackson লাইব্রেরি ব্যবহার করে JSON ডেটা XML ফরম্যাটে রূপান্তরিত হয়েছে। এরপর, Xerces ব্যবহার করে XML ডেটা প্রসেস করা যাবে।


2. Xerces এর মাধ্যমে XML Parsing

এখন, Xerces এর মাধ্যমে XML ডেটা পার্স করা যাবে। যেমন:

import org.w3c.dom.*;
import javax.xml.parsers.*;

public class XercesExample {
    public static void main(String[] args) throws Exception {
        // XML ফাইল লোড এবং পার্স করা
        File xmlFile = new File("person.xml");

        // DocumentBuilderFactory তৈরি করা
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true); // Namespace-aware তৈরি করা
        DocumentBuilder builder = factory.newDocumentBuilder();
        
        // XML ডকুমেন্ট পার্স করা
        Document document = builder.parse(xmlFile);
        
        // রুট এলিমেন্ট পাওয়া (যেমন: <person>)
        Element root = document.getDocumentElement();
        System.out.println("Root Element: " + root.getNodeName());
        
        // XML উপাদান প্রক্রিয়া করা
        NodeList nodeList = document.getElementsByTagName("name");
        for (int i = 0; i < nodeList.getLength(); i++) {
            Node node = nodeList.item(i);
            System.out.println("Element: " + node.getNodeName() + ", Content: " + node.getTextContent());
        }
    }
}
আউটপুট:
Root Element: person
Element: name, Content: John
Element: age, Content: 30

এখানে Xerces ব্যবহার করে XML ডকুমেন্ট পার্স করা হয়েছে এবং XML এর বিভিন্ন উপাদানের কনটেন্ট প্রদর্শন করা হয়েছে।


3. JSON Parser (Jackson or Gson) ব্যবহার করা

যেহেতু Xerces XML প্রসেসিং লাইব্রেরি এবং সরাসরি JSON সমর্থন করে না, তাই Jackson বা Gson এর মতো JSON পার্সার ব্যবহার করা উত্তম। এই পার্সারগুলির মাধ্যমে JSON ডেটাকে Java অবজেক্টে রূপান্তর করে পরে আপনি XML-এ রূপান্তর করতে পারেন।

Jackson উদাহরণ:
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonExample {
    public static void main(String[] args) throws Exception {
        String json = "{\"person\": {\"name\": \"John\", \"age\": 30}}";

        // Jackson দিয়ে JSON পার্সিং
        ObjectMapper mapper = new ObjectMapper();
        Person person = mapper.readValue(json, Person.class);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
    }
}
JSON থেকে Java অবজেক্টে রূপান্তর:
public class Person {
    private String name;
    private int age;

    // Getter and Setter methods

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

এখানে Jackson ব্যবহার করে JSON ডেটাকে Java অবজেক্টে রূপান্তর করা হয়েছে।


সারাংশ

  • Xerces হল একটি XML প্রসেসিং লাইব্রেরি যা XML ডেটার পার্সিং, ভ্যালিডেশন এবং সিরিয়ালাইজেশন সমর্থন করে, তবে সরাসরি JSON সমর্থন করে না।
  • আপনি Xerces এর সাথে JSON ডেটা প্রক্রিয়াকরণের জন্য Jackson বা Gson এর মতো JSON পার্সিং লাইব্রেরি ব্যবহার করতে পারেন।
  • Jackson বা Gson ব্যবহার করে JSON ডেটাকে XML এ রূপান্তর করে তারপর Xerces এর মাধ্যমে XML ডেটা পার্স বা প্রসেস করতে পারেন।
  • Xerces এর মাধ্যমে XML ডেটার ভ্যালিডেশন এবং পার্সিং সহজে করা যায়, এবং JSON থেকে XML রূপান্তর করার জন্য বিভিন্ন JSON লাইব্রেরি ব্যবহৃত হতে পারে।

এভাবে Xerces এবং JSON ইন্টিগ্রেশন মাধ্যমে আপনি XML এবং JSON ডেটা প্রসেস করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...