ToolDeck

JSON to XML

Convert JSON to XML format

একটি উদাহরণ চেষ্টা করুন

JSON Input

XML Output

স্থানীয়ভাবে চলে · গোপন তথ্য পেস্ট করা নিরাপদ
XML will appear here…

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

JSON (JavaScript Object Notation) ও XML (eXtensible Markup Language) হলো সফটওয়্যার উন্নয়নে সবচেয়ে প্রচলিত দুটি ডেটা আদান-প্রদানের ফরম্যাট। JSON কী-মান জোড়া ও অ্যারে ব্যবহার করে সংক্ষিপ্ত সিনট্যাক্সে ডেটা উপস্থাপন করে, আর XML ডেটাকে শুরু ও শেষ ট্যাগে মুড়ে রাখে এবং ঐচ্ছিক অ্যাট্রিবিউট যোগ করা যায়। JSON থেকে XML রূপান্তর মানে JSON-এর কাঠামোগত মূল উপাদানগুলো — অবজেক্ট, অ্যারে, স্ট্রিং, সংখ্যা, বুলিয়ান ও null — একটি সুগঠিত XML ডকুমেন্টে যথাযথ নেস্টিং সহ অনুবাদ করা।

XML এখনও অনেক এন্টারপ্রাইজ সিস্টেম, সরকারি API, SOAP ওয়েব সার্ভিস এবং HL7 (স্বাস্থ্যসেবা), FpML (অর্থায়ন) ও XBRL (আর্থিক প্রতিবেদন)-এর মতো শিল্প মানদণ্ডে অপরিহার্য ফরম্যাট। আপনার অ্যাপ্লিকেশন JSON তৈরি করলে কিন্তু গ্রাহক সিস্টেম XML প্রত্যাশা করলে, একটি JSON থেকে XML কনভার্টার হাতে পুনর্গঠন ছাড়াই রূপান্তর সম্পন্ন করে। রূপান্তরটি সুনির্দিষ্ট নিয়ম মেনে চলে: JSON অবজেক্ট XML এলিমেন্ট হয়, অ্যারে আইটেম পুনরাবৃত্ত সহোদর এলিমেন্ট হয়, আর আদিম মান টেক্সট নোড হয়।

JSON থেকে XML রূপান্তরের জন্য কোনো একক RFC বা W3C মানদণ্ড নেই। ভিন্ন লাইব্রেরি একই ইনপুটের জন্য ভিন্ন আউটপুট তৈরি করে। সবচেয়ে প্রচলিত নিয়ম (এই টুলে ব্যবহৃত) হলো: সম্পূর্ণ ডকুমেন্টকে একটি কনফিগযোগ্য রুট এলিমেন্টে মোড়ানো, প্রতিটি JSON কীকে একটি XML চাইল্ড এলিমেন্টে রূপান্তর করা এবং অ্যারে আইটেমগুলোকে একই ট্যাগ নামের পুনরাবৃত্ত এলিমেন্ট হিসেবে উপস্থাপন করা। প্রাপক সিস্টেম যদি নির্দিষ্ট XML স্কিমা (XSD) প্রয়োগ করে তাহলে এই নিয়মগুলো বোঝা জরুরি।

কেন অনলাইন JSON থেকে XML কনভার্টার ব্যবহার করবেন?

JSON উৎস থেকে হাতে XML লেখা ক্লান্তিকর ও ত্রুটিপ্রবণ। ভুলভাবে মেলানো ট্যাগ, বাদ পড়া ক্লোজিং এলিমেন্ট ও ভুল নেস্টিং এমন ডকুমেন্ট তৈরি করে যা স্কিমা যাচাইয়ে ব্যর্থ হয়। একটি কনভার্টার কাঠামোগত রূপান্তর স্বয়ংক্রিয়ভাবে সম্পন্ন করে।

ব্রাউজারে তাৎক্ষণিক রূপান্তর
JSON পেস্ট করুন, মিলিসেকেন্ডের মধ্যে সুগঠিত XML পান। কোনো সার্ভার কল নেই, CLI সেটআপ নেই, কিছু ইনস্টল করতে হবে না। রূপান্তরটি সম্পূর্ণরূপে আপনার ডিভাইসে JavaScript-এ চলে।
🔒
সংবেদনশীল ডেটা গোপন থাকে
আপনার JSON ইনপুট কখনো ব্রাউজারের বাইরে যায় না। সমস্ত পার্সিং ও XML তৈরি ক্লায়েন্ট-সাইডে হয়, তাই API কী, টোকেন বা প্রোডাকশন ডেটা ধারণকারী পেলোড রূপান্তর করা নিরাপদ।
📋
কোনো অ্যাকাউন্ট বা লগইন প্রয়োজন নেই
পৃষ্ঠা খুলুন, JSON পেস্ট করুন এবং XML আউটপুট কপি করুন। কোনো সাইন-আপ ফর্ম নেই, ইমেইল যাচাই নেই, কোনো ব্যবহারের সীমা নেই।
🌳
নেস্টেড কাঠামো স্বয়ংক্রিয়ভাবে পরিচালনা করে
গভীরভাবে নেস্টেড অবজেক্ট, মিশ্র অ্যারে ও null মান সবই সঠিকভাবে রূপান্তরিত হয়। এই টুল আপনার JSON ইনপুটের সম্পূর্ণ শ্রেণিবিন্যাস XML ট্রিতে সংরক্ষণ করে।

JSON থেকে XML ব্যবহারের ক্ষেত্র

SOAP ওয়েব সার্ভিস সংযোগ
আপনার REST API JSON ফেরত দেয়, কিন্তু সহযোগীর SOAP এন্ডপয়েন্ট XML অনুরোধ বডি প্রত্যাশা করে। SOAP এনভেলপে মোড়ার আগে JSON পেলোডকে XML-এ রূপান্তর করুন।
এন্টারপ্রাইজ ডেটা আদান-প্রদান
পুরনো ERP ও CRM সিস্টেম প্রায়ই শুধুমাত্র XML আমদানি গ্রহণ করে। আধুনিক টুল থেকে JSON রপ্তানিকে প্রত্যাশিত স্কিমার সাথে মিলে এমন XML ফিডে রূপান্তর করুন।
CI/CD পাইপলাইন কনফিগারেশন
কিছু বিল্ড টুল (Maven, Ant, MSBuild) XML কনফিগ ফাইল ব্যবহার করে। স্বয়ংক্রিয় বিল্ডের সময় JSON প্যারামিটার ফাইল থেকে XML কনফিগ খণ্ড তৈরি করুন।
QA পরীক্ষার ডেটা প্রস্তুতি
JSON ডেটাসেট থেকে XML পরীক্ষার ফিক্সচার তৈরি করুন। XML পার্সার, XSLT রূপান্তর বা XPath কুয়েরি পরীক্ষার জন্য দ্রুত বৈধ XML ডকুমেন্ট তৈরি করুন।
ডেটা পাইপলাইন ফরম্যাট সেতুবন্ধন
XML গ্রহণকারী ETL পাইপলাইন JSON-উৎপাদনকারী API থেকে ডেটা নিতে পারে। XML-ভিত্তিক প্রক্রিয়াকরণ পর্যায়ে লোড করার আগে মধ্যবর্তী JSON ফলাফল XML-এ রূপান্তর করুন।
XML কাঠামো শেখা
XML অধ্যয়নরত শিক্ষার্থীরা পরিচিত JSON কাঠামো পেস্ট করে সমতুল্য XML উপস্থাপন দেখতে পারেন। এটি ট্যাগ নেস্টিং, এলিমেন্ট শ্রেণিবিন্যাস ও ডকুমেন্ট কাঠামো বাস্তবসম্মতভাবে বোধগম্য করে তোলে।

JSON থেকে XML ম্যাপিং নিয়ম

JSON থেকে XML রূপান্তর নিয়ন্ত্রণের জন্য কোনো সার্বজনীন মানদণ্ড নেই, তাই ভিন্ন টুল ভিন্ন আউটপুট তৈরি করে। নিচের সারণি এই কনভার্টার ও সর্বাধিক প্রচলিত লাইব্রেরিতে (js2xmlparser, xmlbuilder, fast-xml-parser) ব্যবহৃত ম্যাপিং নিয়ম দেখায়। অ্যারের জন্য পুনরাবৃত্ত-সহোদর নিয়ম প্রভাবশালী হয়েছে কারণ এটি XML স্কিমা স্বাভাবিকভাবে সংগ্রহ মডেল করার পদ্ধতি প্রতিফলিত করে — প্রতিটি আইটেম একটি প্রথম-শ্রেণির এলিমেন্ট — এবং এটি XPath কুয়েরি ও XSLT রূপান্তরের সাথে ভালোভাবে কাজ করে।

JSON TypeJSON ExampleXML Output
Object{"name": "Alice"}<name>Alice</name>
Nested object{"user": {"age": 30}}<user><age>30</age></user>
Array{"colors": ["red", "blue"]}<colors>red</colors><colors>blue</colors>
String"hello"<root>hello</root>
Number42<root>42</root>
Booleantrue<root>true</root>
Nullnull<root/>
Empty object{}<root/>
Empty array[](no child elements)

কোড উদাহরণ

নিচে তিনটি পরিবেশে JSON থেকে XML রূপান্তরের জন্য চালানোযোগ্য কোড দেওয়া হয়েছে। প্রতিটি উদাহরণ একটি নমুনা JSON অবজেক্ট থেকে সুগঠিত XML তৈরি করে।

JavaScript (Node.js)
import { create } from 'xmlbuilder2';

const json = {
  order: {
    id: 1024,
    items: [
      { sku: "A1", qty: 2 },
      { sku: "B3", qty: 1 }
    ],
    shipped: false
  }
};

const xml = create({ version: '1.0' })
  .ele(json)
  .end({ prettyPrint: true });

console.log(xml);
// → <?xml version="1.0"?>
// → <order>
// →   <id>1024</id>
// →   <items>
// →     <sku>A1</sku>
// →     <qty>2</qty>
// →   </items>
// →   <items>
// →     <sku>B3</sku>
// →     <qty>1</qty>
// →   </items>
// →   <shipped>false</shipped>
// → </order>
Python
import json
import xmltodict

data = {
    "order": {
        "id": 1024,
        "items": [
            {"sku": "A1", "qty": 2},
            {"sku": "B3", "qty": 1}
        ],
        "shipped": False
    }
}

# xmltodict.unparse expects a single root key
xml = xmltodict.unparse(data, pretty=True)
print(xml)
# → <?xml version="1.0" encoding="utf-8"?>
# → <order>
# →   <id>1024</id>
# →   <items>
# →     <sku>A1</sku>
# →     <qty>2</qty>
# →   </items>
# →   <items>
# →     <sku>B3</sku>
# →     <qty>1</qty>
# →   </items>
# →   <shipped>false</shipped>
# → </order>
Go
package main

import (
	"encoding/json"
	"encoding/xml"
	"fmt"
)

type Item struct {
	SKU string `json:"sku" xml:"sku"`
	Qty int    `json:"qty" xml:"qty"`
}

type Order struct {
	XMLName xml.Name `xml:"order"`
	ID      int      `json:"id" xml:"id"`
	Items   []Item   `json:"items" xml:"items"`
	Shipped bool     `json:"shipped" xml:"shipped"`
}

func main() {
	raw := `{"id":1024,"items":[{"sku":"A1","qty":2},{"sku":"B3","qty":1}],"shipped":false}`

	var order Order
	json.Unmarshal([]byte(raw), &order)

	out, _ := xml.MarshalIndent(order, "", "  ")
	fmt.Println(xml.Header + string(out))
	// → <?xml version="1.0" encoding="UTF-8"?>
	// → <order>
	// →   <id>1024</id>
	// →   <items>
	// →     <sku>A1</sku>
	// →     <qty>2</qty>
	// →   </items>
	// →   ...
}

প্রায়শই জিজ্ঞাসিত প্রশ্ন

JSON থেকে XML রূপান্তরে কি কোনো তথ্য হারিয়ে যায়?
কাঠামোগতভাবে হ্যাঁ — প্রতিটি JSON মান একটি XML এলিমেন্ট বা টেক্সট নোডে রূপান্তরিত হয়। তবে XML স্বাভাবিকভাবে JSON-এর মতো সংখ্যা, বুলিয়ান ও স্ট্রিংয়ের মধ্যে পার্থক্য করে না। JSON-এ 42 মান XML-এ "42" টেক্সট কন্টেন্ট হয়ে যায়। প্রাপক সিস্টেম XML Schema (XSD) টাইপ ঘোষণা ব্যবহার করলে পার্সিংয়ের সময় মূল টাইপ পুনরুদ্ধার করতে পারে। স্কিমা ছাড়া, রূপান্তরিত ডকুমেন্টে টাইপ তথ্য কার্যকরভাবে হারিয়ে যায়।
JSON অ্যারে কীভাবে XML-এ রূপান্তরিত হয়?
প্রতিটি অ্যারে আইটেম একই ট্যাগ নামের সহোদর XML এলিমেন্ট হয়। উদাহরণস্বরূপ, JSON অ্যারে "colors": ["red", "blue"] দুটি এলিমেন্ট তৈরি করে: &lt;colors&gt;red&lt;/colors&gt; ও &lt;colors&gt;blue&lt;/colors&gt;। কিছু কনভার্টার অ্যারে একটি প্যারেন্ট এলিমেন্টে মোড়ে (যেমন &lt;colorsList&gt;), কিন্তু পুনরাবৃত্ত-সহোদর পদ্ধতি বেশি প্রচলিত এবং JAXB, Jackson ও fast-xml-parser-এর নিয়মের সাথে মিলে।
রূপান্তরে null মানের কী হয়?
JSON null সাধারণত একটি খালি XML এলিমেন্টে রূপান্তরিত হয় — উদাহরণস্বরূপ, "middle_name": null হয় &lt;middle_name/&gt;। কিছু লাইব্রেরি স্পষ্ট null বোঝাতে xsi:nil="true" অ্যাট্রিবিউট যোগ করে, যা XSD স্কিমার বিরুদ্ধে যাচাই করা লক্ষ্য সিস্টেমে কার্যকর। এই কনভার্টার ডিফল্ট হিসেবে একটি স্ব-বন্ধ খালি এলিমেন্ট আউটপুট করে।
আমি কি XML থেকে JSON-এ রূপান্তর করতে পারি?
হ্যাঁ, কিন্তু রাউন্ড-ট্রিপ সবসময় প্রতিসম নয়। XML-এর অ্যাট্রিবিউট, প্রক্রিয়াকরণ নির্দেশনা, মন্তব্য, মিশ্র কন্টেন্ট ও নেমস্পেসের সরাসরি JSON সমতুল্য নেই। XML থেকে JSON ও আবার XML-এ রূপান্তর করলে কাঠামোগতভাবে ভিন্ন ডকুমেন্ট তৈরি হতে পারে। XML থেকে JSON রূপান্তরের প্রয়োজন হলে, অ্যাট্রিবিউট ও নেমস্পেস সংরক্ষণকারী একটি নির্দিষ্ট XML থেকে JSON কনভার্টার ব্যবহার করুন।
JSON key-এ এমন অক্ষর থাকলে কী হয় যা বৈধ XML এলিমেন্ট নাম নয়?
XML এলিমেন্ট নাম সংখ্যা দিয়ে শুরু হতে পারে না, স্পেস থাকতে পারে না বা বেশিরভাগ বিশেষ অক্ষর থাকতে পারে না। আপনার JSON-এ "2024-data" বা "first name"-এর মতো কী থাকলে, কনভার্টারকে সেটি পরিষ্কার করতে হবে — সাধারণত আন্ডারস্কোর উপসর্গ যোগ করে বা অবৈধ অক্ষর আন্ডারস্কোরে প্রতিস্থাপন করে। আউটপুট যাচাই করুন এবং যদি ফলাফল XML-কে XSD যাচাই পাস করতে হয় তাহলে উৎস JSON-এ কীর নাম সমন্বয় করুন।
এই টুল সর্বোচ্চ কত আকারের JSON পরিচালনা করতে পারে?
কনভার্টার আপনার ব্রাউজারের JavaScript ইঞ্জিনে চলে, তাই ব্যবহারিক সীমা উপলব্ধ মেমোরির উপর নির্ভর করে। বেশিরভাগ আধুনিক ব্রাউজার কোনো সমস্যা ছাড়াই ৫০-১০০ MB পর্যন্ত JSON ডকুমেন্ট পরিচালনা করে। তার চেয়ে বড় ফাইলের জন্য, Python-এর xmltodict বা কমান্ড-লাইন টুল ব্যবহার করুন যা সব ডেটা মেমোরিতে লোড না করে ধারাবাহিকভাবে প্রক্রিয়া করে।
আউটপুট XML কি সুগঠিত নাকি বৈধ?
আউটপুট সবসময় সুগঠিত XML — ট্যাগ যথাযথভাবে নেস্টেড, বিশেষ অক্ষর এস্কেপড এবং ডকুমেন্টে একটি একক রুট এলিমেন্ট। আউটপুট বৈধ কিনা তা লক্ষ্য স্কিমার (XSD বা DTD) উপর নির্ভর করে। সুগঠিততা একটি কাঠামোগত নিশ্চয়তা; বৈধতার জন্য প্রয়োজন যে এলিমেন্ট নাম, নেস্টিং ক্রম ও কন্টেন্ট টাইপ একটি নির্দিষ্ট স্কিমা সংজ্ঞার সাথে মিলে।