24 converter একক · মুদ্রা · ফাইল

JSON থেকে XML রূপান্তর JavaScript Object Notation ↔ Extensible Markup Language বিনামূল্যে অনলাইন নিরাপদ

একটি JSON ফাইল ছাড়ুন আর XML নিয়ে যান। পড়া ও লেখা দুটোই এখানে, আপনার ব্রাউজারে হয়, তাই ফাইলটি যন্ত্র ছাড়ে না — আর এই পারাপারে কী টিকে থাকে আর কী থাকে না, তা নিচে লেখা আছে, আপনার নিজে আবিষ্কার করার জন্য ফেলে রাখা নয়।

আপনার ফাইল রূপান্তর করুন

এখানে একটি JSON ফাইল ছাড়ুন, বা একটি বেছে নিন।

আপনার ফাইল এই যন্ত্র ছেড়ে যায় না। সবটাই আপনার ব্রাউজারে চলে।

এই রূপান্তরকারী সম্পর্কে
কী রক্ষা পায় গোটা গাছটি। একটিমাত্র কী-ওয়ালা বস্তু নথিটিকে সেই কী-র নাম দেয়, তাই JSON পর্যন্ত গিয়ে ফেরা একটি XML নিজের মতোই দেখায়; অ্যারে তার উপাদান পুনরাবৃত্তি করে; @ দিয়ে শুরু হওয়া কী বৈশিষ্ট্য হয়ে যায়।
কী পারে না JSON-এর যেকোনো কী একটি শব্দ হতে পারে; XML-এর উপাদানের নাম নয়। যে কী বৈধ নাম নয় তাকে মুচড়ে নাম বানানো হয় না — সেটি হয় ‎<item name="…">‎, তাই মূলটি এখনও ফাইলে আছে এবং এখনও খুঁজে পাওয়া যায়। কোনো নামস্থানও বসানো হয় না, কোনো ছকও নয়: ফলটি সুগঠিত, যাচাই করা নয়।
কোথায় চলে আপনার ব্রাউজারে। কিছুই আপলোড হয় না, তাই পরে মোছারও কিছু থাকে না।

কিছুই আপলোড হয় না

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

JSON-এ রূপান্তর

এই বিন্যাসগুলি কোথা থেকে এসেছে

CSV সবচেয়ে পুরোনো আর সবচেয়ে কম প্রমিত: একটি সারণি, লেখার লাইন হিসেবে লেখা; সত্তরের দশক থেকে চালু, অথচ লিখিতভাবে বর্ণিত হল কেবল ২০০৫ সালে — ততদিনে প্রতিটি প্রোগ্রাম নিজে নিজেই ঠিক করে ফেলেছে বিভাজক কী আর উদ্ধৃতিচিহ্ন কখন বসবে। XML ১৯৯৮ সালে SGML থেকে বেড়ে ওঠে, সেইসব দলিলের জন্য যাদের কঠোর গঠন বইতে হয় এবং কোনো ছকের বিপরীতে যাচাই হতে হয়। JSON-কে ডগলাস ক্রকফোর্ড ২০০১ নাগাদ জাভাস্ক্রিপ্ট থেকে টেনে বার করেন, ইচ্ছে করেই তা ছেঁটে নামিয়ে আনেন বস্তু, তালিকা, সংখ্যা আর অক্ষরমালায় — আর সেই স্বল্পতাই ওয়েব জয়ের কারণ। YAML তার পাঠযোগ্য জ্ঞাতি, যেখানে ফাঁক ছেড়ে লেখা সেই কাজ করে যা অন্যত্র করে বন্ধনী। এদের মধ্যে রূপান্তরে একটিই কথা জরুরি: CSV সমতল, সারি ও স্তম্ভের জাল; আর JSON, XML ও YAML হল গাছ।

কোথায় এদের দেখা পাবেন

CSV সেটাই যা স্প্রেডশিট রপ্তানি করে, আর যা কোনো হিসাবরক্ষক, কোনো দোকানের মঞ্চ বা ব্যাংকের বিবরণী আপনাকে ধরিয়ে দেয়। JSON সেই ভাষা যাতে ওয়েবের সেবাগুলি কথা বলে, আর যাতে কনফিগারেশন ফাইল ক্রমেই লেখা হচ্ছে। XML টিকে আছে পুরোনো প্রাতিষ্ঠানিক ব্যবস্থায়, চালান তৈরির মানে, আর খোদ দপ্তরি বিন্যাসগুলির ভিতরে। YAML সেই জায়গা যেখানে মানুষ হাতে সেটিংস লেখে। এদের মধ্যে রূপান্তর হল সেই দৈনন্দিন কাজ, যা তথ্যকে তার জন্মস্থান থেকে প্রয়োজনের জায়গায় নিয়ে যায়।

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

আমার CSV এক্সেলে একটিমাত্র স্তম্ভ হিসেবে খুলল। কেন?

কারণ আপনার স্প্রেডশিট অন্য একটি বিভাজকের অপেক্ষায় ছিল। এক্সেল কম্পিউটারের আঞ্চলিক বিন্যাসের তালিকা-বিভাজক মেনে চলে, আর সেটি সেমিকোলন সেইসব জায়গায় যেখানে কমা আগে থেকেই দশমিক চিহ্ন — অর্থাৎ মহাদেশীয় ইউরোপের বড় অংশে। তখন কমা দিয়ে আলাদা করা ফাইল একটিমাত্র লেখার স্তম্ভের মতো দেখায়। ফাইলে দুবার ক্লিক না করে আমদানির জানালা ব্যবহার করুন এবং বিভাজক স্পষ্ট করে বলুন। ওই একই আঞ্চলিক বিন্যাসের কারণেই ৩.৫ কখনও তারিখ হয়ে পৌঁছয়।

আমার স্তরে স্তরে সাজানো JSON পরিপাটি স্প্রেডশিট হয় না কেন?

কারণ স্প্রেডশিট সমতল আর JSON একটি গাছ। একটি সারি প্রতি স্তম্ভে একটি মান ধরে; অথচ একটি JSON বস্তু কোনো ক্ষেত্রের ভিতরের তালিকার ভিতরে আরেকটি তালিকা ধরতে পারে। রূপান্তর মানে বেছে নেওয়া — কীভাবে সেটিকে চ্যাপটা করা হবে: হয় স্তরের নামগুলি জুড়ে একটি লম্বা স্তম্ভ-শিরোনাম বানানো, নয়তো মূল সারিটিকে প্রতিটি সন্তানের জন্য একবার করে পুনরাবৃত্তি করা। দুটোই আপস, আর কোনোটিই আপনা-আপনি ফেরানো যায় না — সেজন্যই স্প্রেডশিট থেকে আদি আকারে ফেরার জন্য সাধারণত একজন মানুষের সিদ্ধান্ত লাগে।

ফাইলের গুণমান কি কমে?

তা নির্ভর করে দুটি বিন্যাস কী ধরে রাখতে পারে তার উপর। একই জিনিস রাখে এমন বিন্যাসের মধ্যে রূপান্তর — PNG থেকে BMP, WAV থেকে FLAC — কিছুই হারায় না। জায়গা বাঁচাতে তথ্য ফেলে দেয় এমন বিন্যাসে, যেমন JPEG বা MP3-তে, রূপান্তর প্রতিবারই কিছুটা হারায়, আর ফিরিয়ে আনলেও তা ফিরে আসে না। যেখানে বাছাইয়ের সুযোগ আছে, এই পাতা সবচেয়ে ছোট ফাইল বানানোর চেয়ে মূল গুণমান ধরে রাখার দিকেই ঝোঁকে।

আমার ফাইল কি কোথাও আপলোড হয়?

না। রূপান্তর ঘটে আপনার নিজের যন্ত্রে, আপনার ব্রাউজারের ভিতরে; ফাইল সেখান থেকে কখনও বেরোয় না, আর এখানে এমন কোনো সার্ভারই নেই যা তা নিতে পারে। সেজন্যই বড় ফাইলকে আটকায় আপলোড নয়, আপনার নিজের স্মৃতি; আর সেজন্যই আপনি যা রূপান্তর করেন তার কিছুই কারও নথিতে আসতে পারে না — আমাদের নথিতেও নয়। তবে শব্দ ও চলচ্চিত্রের সরঞ্জামগুলি প্রথম ব্যবহারে তাদের রূপান্তর-এঞ্জিন এই সাইট থেকেই নামায় — প্রায় তিরিশ মেগাবাইট, একবারই; তারপরেও কাজ পুরোটাই আপনার যন্ত্রে হয়।

মানুষ কেন JSON থেকে XML রূপান্তর করে

JSON আধুনিক ওয়েব কোডের ভাষা: হালকা, পাঠযোগ্য এবং প্রতিটি প্রোগ্রামিং ভাষার বোধগম্য। XML পুরোনো ও আরও আনুষ্ঠানিক ভাইবোন, খোলা-আর-বন্ধ হওয়া ট্যাগে লেখা, এবং আশ্চর্য রকম অনেক জায়গায় এটি এখনও বাধ্যতামূলক বিন্যাস। হিসাবরক্ষণ প্রোগ্রাম, কর ও শুল্ক ব্যবস্থা, সরকারি ক্রয়ের প্ল্যাটফর্ম, পণ্যের ফিড, প্রকাশনার কর্মপ্রবাহ, এন্টারপ্রাইজ সফটওয়্যার এবং পুরোনো ওয়েব সেবার একটি লম্বা তালিকা সবই XML আশা করে। আপনার ডেটা JSON-এ আর যে ব্যবস্থায় তা পৌঁছাতে হবে সে XML বোঝে, তখন রূপান্তর দরকার। তাই মানুষ JSON থেকে XML রূপান্তর করে: তথ্য তাদের কাছে এক রূপে, আর গন্তব্য চায় অন্য রূপ।

পরিস্থিতিগুলো সাধারণ। একজন ডেভেলপার যাঁকে আধুনিক অ্যাপ্লিকেশন থেকে বহু বছর আগে বানানো একটি সেবায় ডেটা পাঠাতে হয়। একটি দোকান যা পণ্য JSON হিসেবে এক্সপোর্ট করে এবং এমন মার্কেটপ্লেসকে ফিড দিতে হয় যা XML চায়। একটি দল যার কনফিগারেশন দরকার এমন মার্কআপ রূপে যা একটি টুল পছন্দ করে। একজন ছাত্র যে একই ডেটা দুই বিন্যাসে কেমন দেখায় তা দেখতে চায়। প্রতিটি ক্ষেত্রে বিষয়বস্তু প্রস্তুত, কেবল বিন্যাস আলাদা।

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

রূপান্তর কীভাবে কাজ করে

পুরো গাছটি বয়ে নেওয়া হয়

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

একক কী-এর নামে নথির নাম

একটি XML নথিতে ঠিক একটি রুট এলিমেন্ট লাগে। আপনার JSON অবজেক্টে একটি মাত্র কী থাকলে সেই কী নথির নাম হয়। এটি সুবিধাজনক ক্ষেত্র: JSON-এ নেওয়া এবং ফেরত আনা একটি XML ফাইল নিজের মতোই দেখায়, কারণ রুট এলিমেন্ট একক কী হয় এবং রুট এলিমেন্ট হিসেবেই ফেরে। আপনার JSON-এর ওপরে কয়েকটি কী থাকলে রূপান্তরকারী সেগুলোকে একটি রুট এলিমেন্টে মুড়ে দেয় যাতে ফল সুগঠিত হয়।

তালিকা এলিমেন্ট পুনরাবৃত্তি করে

একটি অ্যারে তার এলিমেন্ট পুনরাবৃত্তি করে। তিনটি রেকর্ডের তালিকা ধরা products কী পরপর তিনটি product এলিমেন্ট দেয়, যেভাবে XML তালিকা প্রকাশ করে। ক্রম রক্ষিত থাকে।

কী থেকে যায়

পুরো গাছ

প্রতিটি অবজেক্ট, প্রতিটি তালিকা ও প্রতিটি মান বয়ে নেওয়া হয়। কিছুই বাদ যায় না, আর নেস্টিং মূলের নেস্টিং।

@ দিয়ে অ্যাট্রিবিউট

@ দিয়ে শুরু হওয়া কী একটি অ্যাট্রিবিউট হয়। @id কী ও name কী সহ একটি রেকর্ড id অ্যাট্রিবিউট এবং name সন্তান এলিমেন্টসহ একটি এলিমেন্ট দেয়। উল্টো রূপান্তর যে নিয়ম ব্যবহার করে এটি সেই একই নিয়ম, তাই XML থেকে JSON-এ গিয়ে ফিরে আসা ফাইল তার অ্যাট্রিবিউট ধরে রাখে।

ক্রম

কী-গুলো JSON-এ যে ক্রমে ছিল সেই ক্রম রাখে, তাই XML-এর এলিমেন্টগুলো উৎসের ধারা অনুসরণ করে।

JSON থেকে XML রূপান্তরের আগে যা জানা উচিত

যেকোনো JSON কী শব্দ হতে পারে; XML নাম পারে না

যেকোনো JSON কী একটি শব্দ, একটি সংখ্যা বা ফাঁকসহ একটি বাক্যাংশ হতে পারে। XML এলিমেন্টের নাম তা পারে না: এটি একটি অক্ষর বা আন্ডারস্কোর দিয়ে শুরু হতে হবে এবং অক্ষর, অঙ্ক, হাইফেন, আন্ডারস্কোর ও বিন্দু রাখতে পারে, কিন্তু ফাঁক নয়। যে কী বৈধ নাম নয় তাকে জোর করে একটি নামে বদলানো হয় না। সেটি item name="মূল কী" হিসেবে লেখা একটি item এলিমেন্ট হয়, যার একটি name অ্যাট্রিবিউট আছে, ফলে মূলটি এখনও ফাইলে থাকে এবং এখনও খুঁজে পাওয়া যায়। কিছুই নীরবে নাম বদলায় না।

কিছুই নেমস্পেসযুক্ত নয়, কিছুতে স্কিমা নেই

কিছুই নেমস্পেসযুক্ত নয়, এবং কিছুতে স্কিমা দেওয়া হয় না। ফল সুগঠিত, যাচাই করা নয়। এটি যেকোনো XML পাঠক পড়বে, কিন্তু কর ব্যবস্থা বা মার্কেটপ্লেসের চাওয়া নির্দিষ্ট কাঠামো এটি পূরণ করে কি না তা আলাদা প্রশ্ন, যার উত্তর কেবল গ্রহণকারী পক্ষ দিতে পারে। স্কিমা নির্দিষ্ট এলিমেন্ট নাম দাবি করলে আপনাকে আগেই JSON কী-গুলো সেগুলোর সঙ্গে মেলাতে হবে।

মান হলো লেখা

XML-এর কোনো ধরন নেই: ট্যাগের প্রতিটি মান লেখা। সংখ্যা, true, false ও null তাদের লেখা রূপে লেখা হয়। XML যে প্রোগ্রাম পড়ে তাকেই সেগুলো নিজের মতো ব্যাখ্যা করতে হবে।

এখানে কীভাবে JSON থেকে XML রূপান্তর করবেন

আপনার ফাইল যোগ করুন

JSON ফাইলটি পাতায় ফেলুন বা আপনার ডিভাইস থেকে বেছে নিন। এটি আপনার ব্রাউজারের ভেতরে পড়া হয় এবং আপলোড হয় না।

রূপান্তর করুন

বোতাম চাপুন। সাধারণ আকারের ফাইলে এক মুহূর্ত লাগে। শেষ না হওয়া পর্যন্ত পাতাটি খোলা রাখুন।

ডাউনলোড করে যাচাই করুন

XML ডাউনলোড করে টেক্সট এডিটরে বা ব্রাউজারে খুলুন। শুরু ও শেষ দেখুন, এবং এলিমেন্টের নাম আপনার আশা অনুযায়ী কি না আর অ্যাট্রিবিউট আপনার চাওয়া জায়গায় আছে কি না যাচাই করুন।

JSON ও XML-এর দিকে আরও কাছ থেকে একবার

গাছ লেখার দুই উপায়

JSON ও XML দুটিই মানের একটি গাছ বর্ণনা করে। JSON তা লেখে ব্রেস ও ব্র্যাকেটে, এবং কেবল অবজেক্ট, তালিকা, স্ট্রিং, সংখ্যা, বুলিয়ান ও null জানে। XML তা লেখে খোলা-আর-বন্ধ হওয়া ট্যাগে, এবং যোগ করে অ্যাট্রিবিউট, নেমস্পেস ও মিশ্র বিষয়বস্তু। রেকর্ড ও সেটিংসের মতো ডেটার জন্য এরা ভালোভাবে মেলে, আর নথির জন্য ভালোভাবে মেলে না, যেখানে লেখা ও মার্কআপ মিশে থাকে।

রীতিগুলো কেন গুরুত্বপূর্ণ

JSON-এ অ্যাট্রিবিউট নেই, রুট এলিমেন্ট নেই এবং এলিমেন্ট পুনরাবৃত্তির ধারণা নেই। তাই যেকোনো রূপান্তরে রীতি লাগে: অ্যাট্রিবিউটের জন্য @, রুটের জন্য একক কী, তালিকার জন্য এলিমেন্টের পুনরাবৃত্তি। এখানে ব্যবহৃত রীতিগুলো সরল ও সামঞ্জস্যপূর্ণ, এবং XML থেকে JSON-এ যাওয়ার সময় ব্যবহৃতগুলোর সঙ্গে মেলে, যা সাধারণ ক্ষেত্রে ঘুরে আসা কাজ করতে দেয়।

ফাঁকা মান

একটি ফাঁকা স্ট্রিং আর একটি null দুটিই একটি ফাঁকা এলিমেন্টে গিয়ে ঠেকে। গ্রহণকারী ব্যবস্থার কাছে পার্থক্য গুরুত্বপূর্ণ হলে JSON থেকে XML রূপান্তরের আগে ডেটায় তা চিহ্নিত করুন, যেমন একটি আলাদা ফ্ল্যাগ দিয়ে।

সাধারণ পরিস্থিতি বিস্তারিত

মার্কেটপ্লেস ও তুলনা সাইটের ফিড

অনেক প্ল্যাটফর্ম পণ্যের ফিড XML-এ চায়। আপনার দোকানের সফটওয়্যার JSON এক্সপোর্ট করলে JSON থেকে XML রূপান্তর করুন, প্ল্যাটফর্মের স্পেসিফিকেশনের সঙ্গে এলিমেন্টের নাম মিলিয়ে দেখুন এবং আপলোড করুন।

পুরোনো সেবা ও এন্টারপ্রাইজ ব্যবস্থা

SOAP ও প্রথম দিকের API-র যুগে বানানো ব্যবস্থা XML আশা করে। একটি আধুনিক অ্যাপ্লিকেশন JSON বানাতে পারে এবং সেগুলোর জন্য তা রূপান্তর করিয়ে নিতে পারে।

XML পছন্দ করা টুলের কনফিগারেশন

কিছু বিল্ড টুল, কনটেন্ট ব্যবস্থা ও ডেস্কটপ প্রোগ্রাম XML থেকে সেটিংস পড়ে। JSON হিসেবে লেখা কনফিগারেশনকে তাদের দরকারি রূপে বদলানো যায়।

শেখা ও তুলনা

একই ডেটা দুই বিন্যাসে দেখা তারা কীভাবে আলাদা তা বোঝার ভালো উপায়। একটি ছোট JSON পেস্ট করুন, রূপান্তর করুন এবং দুটি পাশাপাশি তুলনা করুন।

JSON থেকে XML রূপান্তরের আগে বাস্তব পরামর্শ

JSON বৈধ কি না দেখুন

একটি বাড়তি কমা বা অনুপস্থিত উদ্ধৃতি চিহ্ন রূপান্তর থামিয়ে দেবে। পাতা ত্রুটি জানালে JSON সমস্যা হাইলাইট করে এমন এডিটরে ফাইলটি খুলুন এবং যে লাইন দেখায় তা ঠিক করুন।

কী-গুলোকে বৈধ এলিমেন্ট নাম করুন

XML স্কিমার বিপরীতে যাচাই হবে জানলে এমন কী ব্যবহার করুন যা বৈধ নাম এবং স্কিমার সঙ্গে মেলে। নইলে রূপান্তরকারী সেগুলোকে item এলিমেন্ট হিসেবে নিরাপদ রাখবে, যা ঠিক কিন্তু গ্রহণকারীর আশা অনুযায়ী নাও হতে পারে।

একটি একক শীর্ষ-স্তরের কী বাছুন

আপনার XML-এর রুট এলিমেন্টের একটি নির্দিষ্ট নাম চাইলে JSON থেকে XML রূপান্তরের আগে আপনার ডেটাকে সেই একটি কী-সহ একটি অবজেক্টে মুড়ে দিন।

বড় ফাইল

সবকিছু আপনার ডিভাইসে চলে, তাই খুব বড় ফাইলে মেমোরি লাগে। অনেক মেগাবাইটের ফাইলের জন্য কম্পিউটার ব্যবহার করুন, এবং পাতা হিমশিম খেলে ডেটা ভাগ করুন।

রূপান্তরের আগে মানুষ যেসব প্রশ্ন করে

রুট এলিমেন্টের নাম কী ঠিক করে?

একটি মাত্র কী-ওয়ালা অবজেক্ট নথির নাম দেয় সেই কী অনুসারে।

অ্যাট্রিবিউট কীভাবে পাব?

কী-টি @ দিয়ে শুরু করুন। এটি এলিমেন্টের অ্যাট্রিবিউট হয়।

ফাঁকাযুক্ত কী-এর কী হয়?

এটি বৈধ এলিমেন্ট নাম নয়, তাই এটি মূল কী ধরা একটি name অ্যাট্রিবিউটসহ item এলিমেন্ট হয়। কিছুই হারায় না।

XML কি স্কিমা পরীক্ষা পাস করবে?

ফল সুগঠিত, যাচাই করা নয়। কোনো নির্দিষ্ট স্কিমা পূরণ করে কি না তা নির্ভর করে আপনার এলিমেন্টের নাম ও কাঠামোর ওপর।

আমার ফাইল কি আপলোড হয়?

না। রূপান্তর আপনার ব্রাউজারে চলে এবং ফাইল কখনও আপনার ডিভাইস ছাড়ে না।

আমি কি JSON-এ ফিরে যেতে পারি?

হ্যাঁ। XML থেকে JSON অ্যাট্রিবিউটের একই রীতিসহ একটি XML গাছ আবার পড়ে।

JSON থেকে XML রূপান্তরে বুদ্ধিমানের পছন্দ

XML কি সত্যিই দরকার?

গ্রহণকারী ব্যবস্থা JSON নিলে JSON ব্যবহার করুন। শুধু XML বাধ্যতামূলক হলে রূপান্তর করুন।

অন্যান্য গন্তব্য

মানুষ যে কনফিগারেশন সম্পাদনা করে তার জন্য JSON থেকে YAML আরও আরামে পড়া যায়। সারণির জন্য JSON থেকে CSV ও JSON থেকে XLSX স্প্রেডশিটের কাজে লাগে।

JSON রেখে দিন

JSON-ই মূল। এতে ধরন আছে। এটি রেখে দিন, আর XML-কে একটি নির্দিষ্ট গ্রহণকারীর জন্য বানানো কপি হিসেবে দেখুন।

রূপান্তরের পর ভালো ফল পাওয়া

ব্রাউজারে খুলুন

ব্রাউজার XML একটি গুটিয়ে-নেওয়া-যায় এমন গাছ হিসেবে দেখায়। ফাইলটি খুলে এলিমেন্টগুলো প্রসারিত করুন। কাঠামো আপনার আশা অনুযায়ী দেখালে তা ঠিক আছে।

কয়েকটি রেকর্ড উৎসের সঙ্গে তুলনা করুন

মাঝখানের কয়েকটি রেকর্ড নিয়ে JSON-এর সঙ্গে মিলিয়ে দেখুন। এতে এক মিনিট লাগে এবং জানায় রূপান্তর বিশ্বস্ত।

গ্রহণকারীর যা দরকার তা যোগ করুন

গ্রহণকারী ঘোষণা লাইন, নেমস্পেস বা স্টাইলশিট উল্লেখ চাইলে টেক্সট এডিটরে তা যোগ করুন। এগুলো ডেটার অংশ নয় এবং আপনার জন্য লেখা হয় না।

আপনার JSON এমনভাবে প্রস্তুত করা যাতে ভালো রূপান্তর হয়

নিয়মিত কাঠামো ব্যবহার করুন

JSON থেকে XML রূপান্তরের সময় নিয়মিত ডেটা সবচেয়ে ভালো রূপান্তরিত হয়: একই কী-ওয়ালা রেকর্ডের তালিকা, প্রতিটি কী বৈধ নাম। অনিয়মিত ডেটা ঠিক কিন্তু অগোছালো ফল দেয়।

কোনটি অ্যাট্রিবিউট তা ঠিক করুন

শনাক্তকারী, কোড ও ফ্ল্যাগ XML-এ প্রায়ই অ্যাট্রিবিউট হয়। JSON-এ সেগুলো @ দিয়ে চিহ্নিত করুন, আর ফল দেখতে হবে মানুষের লেখা XML-এর মতো।

আগে একটি ছোট অংশে পরীক্ষা করুন

আপনার ফাইল বড় হলে প্রথম রেকর্ডগুলো একটি পরীক্ষার ফাইলে নিয়ে সেটি রূপান্তর করুন। ফলে এক নজরে বোঝা যায় আকার আপনার আশা অনুযায়ী কি না।

XML-কে তার গ্রহণকারীর উপযোগী করা

আগে স্পেসিফিকেশন দেখুন

মার্কেটপ্লেস, কর পোর্টাল বা অংশীদারের জন্য JSON থেকে XML রূপান্তরের আগে তারা কী চায় তা পড়ুন। বেশিরভাগই আশা করা এলিমেন্ট, তাদের ক্রম এবং কোনগুলো আবশ্যক তার একটি বর্ণনা প্রকাশ করে। আপনার কী-নাম এর সঙ্গে মেলাতে JSON-এ কয়েক মিনিট লাগে এবং পরে ব্যর্থ আপলোড বাঁচায়।

ক্রম গুরুত্বপূর্ণ হতে পারে

কিছু XML স্কিমা এলিমেন্ট নির্দিষ্ট ক্রমে চায়। রূপান্তরকারী আপনার কী-র ক্রম রাখে, তাই গ্রহণকারী কোনো ক্রমে জোর দিলে JSON কী-গুলো সেই ক্রমে লিখুন। ফল ঠিক আপনি যা লিখেছেন তা অনুসরণ করে।

প্রয়োজন হলে ঘোষণা যোগ করুন

সংস্করণ ও এনকোডিং জানানো ওপরের একটি লাইন প্রচলিত এবং কিছু গ্রহণকারী তাতে জোর দেয়। এটি ডেটার অংশ নয়, তাই আপনার জন্য লেখা হয় না। প্রথম এলিমেন্টের আগে টেক্সট এডিটরে হাতে যোগ করুন।

বিশেষ অক্ষরে মন দিন

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

একটি গৃহীত নমুনা রেখে দিন

গ্রহণকারী একটি ফাইল মেনে নিলে সেই হুবহু ফাইলের এবং যে JSON তা বানিয়েছে তার একটি কপি রাখুন। পরে কোনো আপলোড ব্যর্থ হলে যেটি কাজ করেছিল তার সঙ্গে তুলনা করে সঙ্গে সঙ্গে পার্থক্য পাওয়া যায়।

হাতে সম্পাদনার বদলে রূপান্তর আবার করুন

ডেটা বদলালে JSON বদলান এবং আবার JSON থেকে XML রূপান্তর করুন। XML হাতে সম্পাদনা করলে দুটি সংস্করণ থেকে যায় যা আলাদা হয়ে সরে যায়।

গোপনীয়তা ও পরিচালনা

ডেটার জন্য স্থানীয় রূপান্তর কেন গুরুত্বপূর্ণ

ডেটা ফাইলে প্রায়ই ব্যক্তিগত জিনিস থাকে: গ্রাহক, অর্ডার, চালান, সেটিংস। অনেক অনলাইন রূপান্তরকারী আপনার ফাইল সার্ভারে আপলোড করে, প্রক্রিয়া করে ফল ফেরত পাঠায়, আর কিছু সময় একটি কপি আপনার নিয়ন্ত্রণের বাইরের একটি মেশিনে থাকে। এখানে আপনার নিজের ব্রাউজার কাজ করে, তাই ডেটা আপনার ডিভাইসে থাকে।

চলে গেলে কী হয়

পাতা বন্ধ করলে রূপান্তরিত ফাইল ব্রাউজার থেকে মুছে যায়, তাই আগে ডাউনলোড করুন। আপনার ডেটার কিছুই রাখা হয় না।

কিছু ভুল হলে

পাতা বলছে ফাইলটি বৈধ JSON নয়

একটি বাড়তি কমা, একটি অনুপস্থিত উদ্ধৃতি চিহ্ন বা বন্ধ না হওয়া ব্র্যাকেট থাকতে পারে। JSON ত্রুটি হাইলাইট করে এমন এডিটরে ফাইলটি খুলুন এবং যে লাইন দেখায় তা ঠিক করুন।

গ্রহণকারী XML প্রত্যাখ্যান করে

ফল সুগঠিত কিন্তু যাচাই করা নয়। এটি গ্রহণকারীর স্পেসিফিকেশনের সঙ্গে তুলনা করুন এবং JSON-এর কী-নাম ও কাঠামো সমন্বয় করুন।

বড় ফাইলে পাতা আটকে যায়

সবকিছু আপনার ডিভাইসে চলে, আর বড় ফাইলে মেমোরি লাগে। কম্পিউটারে আবার চেষ্টা করুন, বা ডেটা ভাগ করুন।

সম্পর্কিত টুল

একই পরিবারের টুল পাশের কাজগুলো সামলায়। ফিরে যেতে ব্যবহার করুন XML থেকে JSON। কনফিগারেশন ফাইলের জন্য JSON থেকে YAML ও YAML থেকে JSON ওই দুইয়ের মধ্যে রূপান্তর করে। সারণির জন্য আছে JSON থেকে CSV, CSV থেকে JSON, JSON থেকে XLSX এবং XLSX থেকে JSON।

একটি কাজের উদাহরণ

ধরুন আপনার দোকানের সফটওয়্যার 300টি পণ্য JSON হিসেবে এক্সপোর্ট করে, আর একটি মার্কেটপ্লেস catalogue নামের রুট এলিমেন্টসহ একটি XML ফিড চায়। আপনি আপনার তালিকাকে catalogue একক কী-সহ একটি অবজেক্টে মুড়ে দেন, ফাইলটি এখানে ফেলেন এবং বোতাম চাপেন। এক মুহূর্ত পরে আপনি এমন একটি XML ডাউনলোড করেন যার রুট catalogue এবং যাতে 300টি product এলিমেন্ট আছে, প্রতিটিতে id একটি অ্যাট্রিবিউট হিসেবে, কারণ আপনি কী-টি @id লিখেছিলেন। আপনি ফিড আপলোড করেন, আর মার্কেটপ্লেস তা গ্রহণ করে। JSON আপনার ফোল্ডারে উৎস হিসেবে থাকে।

একটি ছোট চেকলিস্ট

রূপান্তরের আগে

JSON বৈধ কি না দেখুন। রুটের নাম বাছুন। অ্যাট্রিবিউট @ দিয়ে চিহ্নিত করুন। JSON রেখে দিন।

রূপান্তরের সময়

ফাইল প্রস্তুত না হওয়া পর্যন্ত পাতায় থাকুন।

রূপান্তরের পর

XML খুলুন, এলিমেন্টের নাম, অ্যাট্রিবিউট ও তালিকা দেখুন, এবং গ্রহণকারীর সঙ্গে পরীক্ষা করুন।

সাধারণ ভুল

ধরে নেওয়া যে ফল যাচাই করা

XML সুগঠিত, কোনো স্কিমার বিপরীতে পরীক্ষা করা নয়। গ্রহণকারীর নিয়মের বিপরীতে এটি যাচাই করুন।

ফাঁক বা চিহ্নযুক্ত কী ব্যবহার

সেগুলো name অ্যাট্রিবিউটসহ item এলিমেন্ট হয়। গ্রহণকারী আশা করলে বৈধ নাম ব্যবহার করুন।

JSON মুছে ফেলা

এটি রাখুন। এতে সেই ধরন আছে যা XML ধরতে পারে না।

আপনার ডেটা আপনার ডিভাইসে থাকে

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

সারসংক্ষেপ

এখানে JSON থেকে XML রূপান্তর করতে ফাইলটি ফেলুন এবং বোতাম চাপুন। এটি আপনার ব্রাউজারে পড়া ও লেখা হয়, তাই ফাইল কখনও আপনার ডিভাইস ছাড়ে না। পুরো গাছ থাকে। একটি মাত্র কী-ওয়ালা অবজেক্ট নথির নাম দেয় সেই কী অনুসারে, তাই XML থেকে JSON-এ গিয়ে ফিরে আসা ফাইল নিজের মতোই দেখায়; একটি অ্যারে তার এলিমেন্ট পুনরাবৃত্তি করে; @ দিয়ে শুরু হওয়া কী অ্যাট্রিবিউট হয়। যেকোনো JSON কী শব্দ হতে পারে; XML এলিমেন্টের নাম পারে না। যে কী বৈধ নাম নয় তাকে জোর করে একটি নামে বদলানো হয় না: সেটি name অ্যাট্রিবিউটসহ একটি item এলিমেন্ট হয়, ফলে মূলটি এখনও ফাইলে থাকে এবং এখনও খুঁজে পাওয়া যায়। কিছুই নেমস্পেসযুক্ত নয়, এবং কিছুতে স্কিমা দেওয়া হয় না: ফল সুগঠিত, যাচাই করা নয়।

দৈর্ঘ্য ও ক্ষেত্রফল ভর ও আয়তন তাপমাত্রা মুদ্রা