JSON থেকে XML রূপান্তর কীভাবে কাজ করে
এই টুল আপনার JSON পার্স করে পূর্বানুমেয় নিয়মে একটি XML ডকুমেন্ট তৈরি করে। অবজেক্টগুলো নেস্টেড এলিমেন্ট হয়, অ্যারেগুলো রিপিট হওয়া আইটেম এলিমেন্ট হয়, আর ভ্যালুগুলো টেক্সট নোড হয়। সবকিছু লোকালি আপনার ব্রাউজারেই চলে — কোনো আপলোড বা স্টোরেজ নেই।
কখন এই টুল ব্যবহার করবেন
আধুনিক অ্যাপের জন্য JSON দারুণ, তবে অনেক প্ল্যাটফর্ম এখনো ইমপোর্ট এবং ফিডের জন্য XML চায়। JSON থেকে XML কাজে লাগে যখন আপনার দরকার কমপ্যাটিবিলিটি, এক্সপোর্ট, বা XML-ভিত্তিক সিস্টেমের সাথে ইন্টিগ্রেশন।
- ইমপোর্ট: API JSON-কে পুরোনো সিস্টেমের জন্য XML-এ রূপান্তর করুন।
- ফিড: মার্কেটপ্লেস বা ইন্টিগ্রেশনের জন্য XML জেনারেট করুন।
- লিগেসি টুল: JSON সাপোর্ট না করা সফটওয়্যারের জন্য XML-এ ডেটা এক্সপোর্ট করুন।
- অটোমেশন: বারবার একইভাবে, অফলাইনভাবে JSON → XML রূপান্তর করুন।
উল্টো দিক দরকার (XML → JSON)? আমাদের XML থেকে JSON কনভার্টার ব্যবহার করুন। CSV ফরম্যাট দরকার হলে JSON থেকে CSV কনভার্টার ব্যবহার করুন।
রূপান্তরের নিয়ম
- রুট ট্যাগ: আপনার XML ডকুমেন্ট শুরু হবে আপনার বাছা রুট ট্যাগ দিয়ে (ডিফল্ট
root)। - অবজেক্ট: কী হবে ট্যাগ নাম, আর ভ্যালু হবে নেস্টেড নোড।
- অ্যারে: প্রতিটি অ্যারে ভ্যালু একটি আইটেম ট্যাগ হবে (কনফিগারেবল, ডিফল্ট
item)। - অ্যাট্রিবিউট: চালু থাকলে
@দিয়ে শুরু হওয়া কী-গুলো বর্তমান এলিমেন্টের অ্যাট্রিবিউট হবে। - টেক্সট ভ্যালু: কোনো অবজেক্টে
#textকী থাকলে সেটি এলিমেন্টের টেক্সট কনটেন্ট হবে। - এস্কেপিং: XML বৈধ রাখতে বিশেষ ক্যারেক্টারগুলো এস্কেপ করা হয়।
ধাপে ধাপে: JSON থেকে XML
JSON রূপান্তর করতে মাত্র কয়েক সেকেন্ড লাগে:
- JSON ফাইল যোগ করুন। উপরের বক্সে ড্র্যাগ-ড্রপ করুন, বা ক্লিক করে ডিভাইস থেকে বেছে নিন।
- ট্যাগ সেট করুন। রুট ট্যাগ এবং অ্যারে আইটেম ট্যাগ বাছুন (ঐচ্ছিক)।
- অপশন বাছুন।
@কী-গুলোকে অ্যাট্রিবিউট হিসেবে ধরবেন কি না এবং প্রিটি ফরম্যাটিং দেবেন কি না ঠিক করুন। - XML-এ রূপান্তর করুন। XML-এ রূপান্তর করুন ক্লিক করুন। টুলটি সবকিছু লোকালি প্রসেস করে।
- আউটপুট সেভ করুন। একে একে সেভ করুন বা রেডি হলে “সব সেভ” ব্যবহার করুন।
গোপনীয়তা, সীমা এবং এই টুল আপনার ফাইল কীভাবে ব্যবহার করে
FileYoga একটি সহজ নিয়ম মেনে তৈরি: আপনার ফাইল আপনার কাছেই থাকে। JSON থেকে XML রূপান্তর লোকালি আপনার ব্রাউজারেই হয়, তাই আপনার ডেটা কখনোই FileYoga সার্ভারে আপলোড হয় না।
শুধু লোকাল রূপান্তর
রূপান্তর আপনার ডিভাইসে ব্রাউজারের ভেতরেই হয়। আপনার JSON আপলোড হয় না, এবং XML আউটপুট আপনার দিকেই তৈরি হয়।
লুকানো কপি নেই
আপনি তালিকা পরিষ্কার করলে বা ট্যাব বন্ধ করলে, টুলটি আপনার ফাইল ব্যবহার বন্ধ করে এবং সার্ভারে কোনো কপি সেভ করে না।
কৃত্রিম সীমা নেই
কোনো পেওয়াল বা কোটা নেই। সীমা শুধু আপনার ডিভাইসের মেমরি এবং ব্রাউজারের ক্ষমতার ওপর নির্ভর করে।
অ্যাকাউন্ট লাগে না
সাইন আপ ছাড়াই ব্যবহার করুন। পেজ খুলুন, ফাইল রূপান্তর করুন, কাজ শেষ হলে বের হয়ে যান।
ভালো ফলাফলের টিপস
- সহজ ট্যাগ নাম ব্যবহার করুন (অক্ষর, সংখ্যা, আন্ডারস্কোর, হাইফেন)। XML ট্যাগ নাম সংখ্যা দিয়ে শুরু হতে পারে না।
- আপনার JSON যদি টপ-লেভেল অ্যারে হয়, টুলটি সেটিকে আপনার রুট ট্যাগের মধ্যে রিপিট হওয়া আইটেম ট্যাগ হিসেবে র্যাপ করবে।
- কোনো নোডে অ্যাট্রিবিউট দিতে চাইলে একই অবজেক্টে
"@id"এর মতো কী রাখুন। - খুব বড় JSON ফাইল হলে একবারে একটি ফাইল রূপান্তর করুন—মেমরি চাপ কমবে।
সমস্যা সমাধান
- Invalid JSON error: আপনার ফাইলটি বৈধ JSON নাও হতে পারে। ভ্যালিডেট করে আবার চেষ্টা করুন।
- অদ্ভুত ট্যাগ নাম: স্পেস বা সিম্বল থাকা কী-গুলোকে টুলটি XML বৈধ রাখতে স্যানিটাইজ করে। কড়া ট্যাগ নাম দরকার হলে কী রিনেম করুন।
- অ্যাট্রিবিউট দেখা যাচ্ছে না: “@কী → অ্যাট্রিবিউট” চালু করুন এবং
"@id"এর মতো কী ব্যবহার করুন। - XML খুব লম্বা/ভারী লাগছে: ফরম্যাটিং “কমপ্যাক্ট” করুন।
- ট্যাব ফ্রিজ হয়ে যায়: খুব বড় বা গভীরভাবে নেস্টেড JSON মেমরি সীমায় আঘাত করতে পারে। একবারে একটি ফাইল রূপান্তর করুন এবং অন্যান্য ভারী ট্যাব বন্ধ করুন।
সাধারণ প্রশ্ন
না। JSON থেকে XML রূপান্তর লোকালি আপনার ব্রাউজারেই হয়। আপনার ফাইল কখনোই FileYoga সার্ভারে আপলোড হয় না, এবং XML আউটপুট আপনার ডিভাইসেই তৈরি হয়।
যে সিস্টেমে এক্সপোর্ট করছেন তার সাথে মিলিয়ে ট্যাগ নাম দিন। সাধারণ রুট ট্যাগ হলো root, data, catalog, বা response।
আইটেম ট্যাগ অ্যারেগুলোর জন্য (ডিফল্ট item)। নিশ্চিত না হলে ডিফল্টই রাখুন—পরে বদলাতে পারবেন।
অ্যারেগুলো আপনার আইটেম ট্যাগ ব্যবহার করে রিপিট হওয়া এলিমেন্ট হিসেবে আউটপুট হয়। উদাহরণ: একটি অ্যারে হবে
প্যারেন্ট এলিমেন্টের ভেতরে একাধিক <item>...</item> নোড।
লক্ষ্য সিস্টেমে নির্দিষ্ট নাম লাগলে আইটেম ট্যাগ বদলে দিন।
XML বৈধ রাখতে (XML-এ একটি মাত্র রুট এলিমেন্ট থাকতে হয়), টপ-লেভেল অ্যারেটি আপনার রুট ট্যাগের ভেতরে র্যাপ করা হয়। এরপর অ্যারের আইটেমগুলো রুটের নিচে রিপিট হওয়া আইটেম-ট্যাগ এলিমেন্ট হয়।
চালু থাকলে @ দিয়ে শুরু হওয়া কী-গুলো বর্তমান এলিমেন্টের অ্যাট্রিবিউট হয়।
উদাহরণ: {"@id":"123"} → id="123"।
আর কোনো অবজেক্টে #text কী থাকলে সেটি এলিমেন্টের টেক্সট কনটেন্ট হয়।
যখন একটি এলিমেন্টে টেক্সট এবং নেস্টেড এলিমেন্ট—দুটোই লাগে, কনভার্টার সব ডেটাই ধরে রাখে। স্ট্রাকচারের ওপর নির্ভর করে টেক্সট এলিমেন্টের টেক্সট কনটেন্ট হিসেবে থাকতে পারে (যখন কোনো চাইল্ড নেই), অথবা ডেটা হারানো এড়াতে আলাদা একটি চাইল্ড নোডে রাখা হতে পারে। লক্ষ্য সিস্টেমে নির্দিষ্ট মিক্সড-কনটেন্ট লেআউট দরকার হলে, রূপান্তরের আগে JSON স্ট্রাকচার সামান্য ঠিক করে নিন।
XML ট্যাগ নামের নিয়ম JSON কী-এর চেয়ে কঠোর। কোনো কী-তে স্পেস বা বিশেষ চিহ্ন থাকলে,
XML বৈধ রাখতে কনভার্টার সেটি স্যানিটাইজ করে (যেমন অবৈধ ক্যারেক্টার আন্ডারস্কোরে বদলে দিতে পারে)।
ভালো ফলাফলের জন্য product_id বা orderNumber এর মতো সহজ কী ব্যবহার করুন।
না। &, <, এবং > এর মতো ক্যারেক্টারগুলো টেক্সট ও অ্যাট্রিবিউট ভ্যালুতে নিরাপদভাবে এস্কেপ করা হয়,
তাই আউটপুট XML বৈধ থাকে।
প্রিটি ফরম্যাটিংয়ে ইন্ডেন্টেশন ও লাইন ব্রেক থাকে—XML পড়তে সহজ হয়। কমপ্যাক্ট ফরম্যাটিং অতিরিক্ত হোয়াইটস্পেস বাদ দেয়—ফাইল ছোট হয় ও ট্রান্সফার দ্রুত হয়। ডেটা একই থাকে।
কোনো কৃত্রিম সীমা নেই। খুব বড় বা গভীরভাবে নেস্টেড JSON ফাইল ব্রাউজারের মেমরি সীমায় আঘাত করতে পারে বা ডিভাইস ধীর করে দিতে পারে। এমন হলে একবারে একটি ফাইল রূপান্তর করুন এবং অন্যান্য ভারী ট্যাব বন্ধ করুন।