YAML থেকে JSON রূপান্তর YAML Ain't Markup Language ↔ JavaScript Object Notation বিনামূল্যে অনলাইন নিরাপদ
একটি YAML ফাইল ছাড়ুন আর JSON নিয়ে যান। পড়া ও লেখা দুটোই এখানে, আপনার ব্রাউজারে হয়, তাই ফাইলটি যন্ত্র ছাড়ে না — আর এই পারাপারে কী টিকে থাকে আর কী থাকে না, তা নিচে লেখা আছে, আপনার নিজে আবিষ্কার করার জন্য ফেলে রাখা নয়।
আপনার ফাইল রূপান্তর করুন
এখানে একটি YAML ফাইল ছাড়ুন, বা একটি বেছে নিন।
আপনার ফাইল এই যন্ত্র ছেড়ে যায় না। সবটাই আপনার ব্রাউজারে চলে।
কিছুই আপলোড হয় না
YAML থেকে রূপান্তর
YAML-এ রূপান্তর
এই বিন্যাসগুলি কোথা থেকে এসেছে
CSV সবচেয়ে পুরোনো আর সবচেয়ে কম প্রমিত: একটি সারণি, লেখার লাইন হিসেবে লেখা; সত্তরের দশক থেকে চালু, অথচ লিখিতভাবে বর্ণিত হল কেবল ২০০৫ সালে — ততদিনে প্রতিটি প্রোগ্রাম নিজে নিজেই ঠিক করে ফেলেছে বিভাজক কী আর উদ্ধৃতিচিহ্ন কখন বসবে। XML ১৯৯৮ সালে SGML থেকে বেড়ে ওঠে, সেইসব দলিলের জন্য যাদের কঠোর গঠন বইতে হয় এবং কোনো ছকের বিপরীতে যাচাই হতে হয়। JSON-কে ডগলাস ক্রকফোর্ড ২০০১ নাগাদ জাভাস্ক্রিপ্ট থেকে টেনে বার করেন, ইচ্ছে করেই তা ছেঁটে নামিয়ে আনেন বস্তু, তালিকা, সংখ্যা আর অক্ষরমালায় — আর সেই স্বল্পতাই ওয়েব জয়ের কারণ। YAML তার পাঠযোগ্য জ্ঞাতি, যেখানে ফাঁক ছেড়ে লেখা সেই কাজ করে যা অন্যত্র করে বন্ধনী। এদের মধ্যে রূপান্তরে একটিই কথা জরুরি: CSV সমতল, সারি ও স্তম্ভের জাল; আর JSON, XML ও YAML হল গাছ।
কোথায় এদের দেখা পাবেন
CSV সেটাই যা স্প্রেডশিট রপ্তানি করে, আর যা কোনো হিসাবরক্ষক, কোনো দোকানের মঞ্চ বা ব্যাংকের বিবরণী আপনাকে ধরিয়ে দেয়। JSON সেই ভাষা যাতে ওয়েবের সেবাগুলি কথা বলে, আর যাতে কনফিগারেশন ফাইল ক্রমেই লেখা হচ্ছে। XML টিকে আছে পুরোনো প্রাতিষ্ঠানিক ব্যবস্থায়, চালান তৈরির মানে, আর খোদ দপ্তরি বিন্যাসগুলির ভিতরে। YAML সেই জায়গা যেখানে মানুষ হাতে সেটিংস লেখে। এদের মধ্যে রূপান্তর হল সেই দৈনন্দিন কাজ, যা তথ্যকে তার জন্মস্থান থেকে প্রয়োজনের জায়গায় নিয়ে যায়।
প্রায়ই জিজ্ঞাসিত প্রশ্ন
আমার CSV এক্সেলে একটিমাত্র স্তম্ভ হিসেবে খুলল। কেন?
কারণ আপনার স্প্রেডশিট অন্য একটি বিভাজকের অপেক্ষায় ছিল। এক্সেল কম্পিউটারের আঞ্চলিক বিন্যাসের তালিকা-বিভাজক মেনে চলে, আর সেটি সেমিকোলন সেইসব জায়গায় যেখানে কমা আগে থেকেই দশমিক চিহ্ন — অর্থাৎ মহাদেশীয় ইউরোপের বড় অংশে। তখন কমা দিয়ে আলাদা করা ফাইল একটিমাত্র লেখার স্তম্ভের মতো দেখায়। ফাইলে দুবার ক্লিক না করে আমদানির জানালা ব্যবহার করুন এবং বিভাজক স্পষ্ট করে বলুন। ওই একই আঞ্চলিক বিন্যাসের কারণেই ৩.৫ কখনও তারিখ হয়ে পৌঁছয়।
আমার স্তরে স্তরে সাজানো JSON পরিপাটি স্প্রেডশিট হয় না কেন?
কারণ স্প্রেডশিট সমতল আর JSON একটি গাছ। একটি সারি প্রতি স্তম্ভে একটি মান ধরে; অথচ একটি JSON বস্তু কোনো ক্ষেত্রের ভিতরের তালিকার ভিতরে আরেকটি তালিকা ধরতে পারে। রূপান্তর মানে বেছে নেওয়া — কীভাবে সেটিকে চ্যাপটা করা হবে: হয় স্তরের নামগুলি জুড়ে একটি লম্বা স্তম্ভ-শিরোনাম বানানো, নয়তো মূল সারিটিকে প্রতিটি সন্তানের জন্য একবার করে পুনরাবৃত্তি করা। দুটোই আপস, আর কোনোটিই আপনা-আপনি ফেরানো যায় না — সেজন্যই স্প্রেডশিট থেকে আদি আকারে ফেরার জন্য সাধারণত একজন মানুষের সিদ্ধান্ত লাগে।
ফাইলের গুণমান কি কমে?
তা নির্ভর করে দুটি বিন্যাস কী ধরে রাখতে পারে তার উপর। একই জিনিস রাখে এমন বিন্যাসের মধ্যে রূপান্তর — PNG থেকে BMP, WAV থেকে FLAC — কিছুই হারায় না। জায়গা বাঁচাতে তথ্য ফেলে দেয় এমন বিন্যাসে, যেমন JPEG বা MP3-তে, রূপান্তর প্রতিবারই কিছুটা হারায়, আর ফিরিয়ে আনলেও তা ফিরে আসে না। যেখানে বাছাইয়ের সুযোগ আছে, এই পাতা সবচেয়ে ছোট ফাইল বানানোর চেয়ে মূল গুণমান ধরে রাখার দিকেই ঝোঁকে।
আমার ফাইল কি কোথাও আপলোড হয়?
না। রূপান্তর ঘটে আপনার নিজের যন্ত্রে, আপনার ব্রাউজারের ভিতরে; ফাইল সেখান থেকে কখনও বেরোয় না, আর এখানে এমন কোনো সার্ভারই নেই যা তা নিতে পারে। সেজন্যই বড় ফাইলকে আটকায় আপলোড নয়, আপনার নিজের স্মৃতি; আর সেজন্যই আপনি যা রূপান্তর করেন তার কিছুই কারও নথিতে আসতে পারে না — আমাদের নথিতেও নয়। তবে শব্দ ও চলচ্চিত্রের সরঞ্জামগুলি প্রথম ব্যবহারে তাদের রূপান্তর-এঞ্জিন এই সাইট থেকেই নামায় — প্রায় তিরিশ মেগাবাইট, একবারই; তারপরেও কাজ পুরোটাই আপনার যন্ত্রে হয়।
মানুষ কেন YAML থেকে JSON রূপান্তর করে
হাতে ডেটা লিখতে হলে মানুষ যে নোটেশন বাছে তা YAML। এটি ব্রেসের বদলে ইনডেন্টেশন ব্যবহার করে, মন্তব্য অনুমোদন করে এবং প্রায় রূপরেখার মতো পড়া যায়, যে কারণে এটি কনফিগারেশনের প্রিয় হয়ে উঠেছে: বিল্ড পাইপলাইন, কন্টেইনার সংজ্ঞা, ডিপ্লয়মেন্ট ফাইল, স্ট্যাটিক সাইটের সেটিং, ডকুমেন্টেশন টুল আর অগণিত অ্যাপ্লিকেশন কনফিগ। JSON হলো সেই নোটেশন যা প্রোগ্রাম পেতে পছন্দ করে। এটি কঠোর, এতে মন্তব্য নেই, আর প্রতিটি প্রোগ্রামিং ভাষা একটি স্ট্যান্ডার্ড লাইব্রেরি দিয়ে এটি পড়তে পারে। মানুষের জন্য লেখা ফাইল একটি প্রোগ্রাম, API বা শুধু JSON নেয় এমন টুলে হস্তান্তর করতে হলে একটি রূপান্তর দরকার। তাই মানুষ YAML থেকে JSON রূপান্তর করে: তাদের ডেটা লিখতে আরামদায়ক রূপে, আর গন্তব্য চায় পার্স করতে সহজ রূপ।
পরিস্থিতিগুলো রোজকার। একজন ডেভেলপার যিনি YAML-এ কনফিগারেশন রক্ষণাবেক্ষণ করেন আর তা একটি সেবায় JSON হিসেবে পাঠাতে হয়। একটি দল যারা JSON পরীক্ষা করে এমন টুল দিয়ে একটি সেটিং ফাইল যাচাই করতে চায়। একজন লেখক যাঁর YAML-এ ফ্রন্ট ম্যাটার আছে আর তা একটি স্ক্রিপ্টে দিতে চান। একজন শিক্ষার্থী যিনি দেখতে চান YAML ফাইলের ইনডেন্টেশন কীভাবে ব্রেসে রূপ নেয়। প্রতিটি ক্ষেত্রে ডেটা একই, আর কেবল নোটেশন বদলায়।
এই পাতা আপনার ব্রাউজারেই YAML থেকে JSON রূপান্তর করে। আপনার ফাইল এখানেই পড়া ও লেখা হয়, তাই তা কখনও আপনার ডিভাইস ছেড়ে যায় না, যা কনফিগারেশন ফাইলের জন্য গুরুত্বপূর্ণ, যেগুলোতে প্রায়ই ঠিকানা, অভ্যন্তরীণ সিস্টেমের নাম আর কখনও কখনও গোপন তথ্য থাকে। আর পাতাটি আগেভাগে বলে দেয় এই পারাপার কী রাখে আর কী পারে না, আপনাকে নিজে আবিষ্কার করতে না দিয়ে। নিচে পাবেন রূপান্তর কীভাবে কাজ করে, মন্তব্যের সঙ্গে কী হারায় আর তারিখ ও ট্যাগ থেকে কী আশা করবেন।
রূপান্তর কীভাবে কাজ করে
দুই নোটেশনে একই আকার
আপনার YAML আপনার ব্রাউজারের ভেতরে পড়া হয়, আর তার কাঠামো JSON হিসেবে লেখা হয়। দুটি একই আকার ধরে: ম্যাপ, তালিকা, স্ট্রিং, সংখ্যা, বুলিয়ান ও null ক্ষতি ছাড়াই পার হয়। YAML-এর একটি ম্যাপিং JSON-এ অবজেক্ট হয়, একটি সিকোয়েন্স অ্যারে হয়, আর স্কেলার মান তাদের ধরন রাখে। port: 8080-এর মতো একটি লাইন একটি সংখ্যা দেয়, আর enabled: true একটি বুলিয়ান দেয়।
অ্যাংকর আর অ্যালিয়াস প্রসারিত হয়
YAML-এর একটি বৈশিষ্ট্য আছে যা JSON-এর নেই: আপনি একটি ব্লককে অ্যাংকর দিয়ে চিহ্নিত করে অন্যত্র অ্যালিয়াস দিয়ে তার উল্লেখ করতে পারেন, নিজেকে পুনরাবৃত্তি এড়াতে। অ্যাংকর ও অ্যালিয়াস প্রসারিত হয়, তাই ফল নিজে নিজেই দাঁড়ায়। অ্যালিয়াস যেখানে ছিল সেই প্রতিটি জায়গায় এখন ব্লকের একটি পূর্ণ কপি থাকে। JSON লম্বা হয়, কিন্তু পড়তে অ্যাংকরের কোনো জ্ঞান লাগে না।
ইনডেন্টেশন কাঠামো হয়
YAML-এ কাঠামো প্রকাশ হয় ইনডেন্টেশন দিয়ে। JSON-এ তা প্রকাশ হয় ব্রেস ও ব্র্যাকেট দিয়ে। রূপান্তরকারী ইনডেন্টেশন পড়ে লেখক যেভাবে বুঝিয়েছিলেন সেভাবে, আর আপনার জন্য ব্রেস লেখে। ইনডেন্টেশনের ভুল, যা YAML-এর সবচেয়ে সাধারণ ত্রুটি, আন্দাজ না করে জানানো হয়।
কী রক্ষা পায়
যা কিছু ডেটা
সবকিছু রক্ষা পায়, কারণ দুটি একই আকার ধরে: ম্যাপ, তালিকা, স্ট্রিং, সংখ্যা, বুলিয়ান ও null ক্ষতি ছাড়াই পার হয়। আপনার YAML-এ কিছু একটি মান হলে JSON-এও তা একটি মান।
কী-এর ক্রম
কী যে ক্রমে লেখা হয়েছিল সেই ক্রম রাখে, তাই JSON পড়া যায় YAML-এর একই ক্রমে।
বহু-লাইনের স্ট্রিং
YAML-এ ব্লক স্টাইল দিয়ে লেখা, কয়েক লাইন জুড়ে থাকা স্ট্রিং ভেতরে লাইন ব্রেকসহ একক স্ট্রিং হিসেবে সঙ্গে যায়, যা JSON এস্কেপ সিকোয়েন্স হিসেবে লেখে। লেখা একই।
YAML থেকে JSON রূপান্তরের আগে যা জানা দরকার
মন্তব্য আর বিন্যাস চলে যায়
মন্তব্য, ফাঁকা লাইন আর উদ্ধৃতি চিহ্নসহ ও ছাড়া বেছে নেওয়া একটি YAML ফাইল কীভাবে পড়া হয় তার অংশ, তার অর্থের নয়, আর কোনোটিই টেকে না, কারণ JSON-এর সেগুলো রাখার জায়গা নেই। আপনার YAML ব্যাখ্যামূলক মন্তব্যে ভরা হলে JSON-এ তার একটিও থাকবে না। YAML-কে সেই ফাইল হিসেবে রাখুন যা মানুষ পড়ে ও সম্পাদনা করে, আর JSON-কে উদ্ভূত কপি ভাবুন।
উদ্ধৃতিহীন তারিখ টেক্সট হয়ে আসে
উদ্ধৃতি ছাড়া লেখা একটি তারিখ টেক্সট হয়ে আসে, কারণ JSON-এর কোনো তারিখ নেই। released: 2026-03-14-এর মতো একটি লাইন স্ট্রিং 2026-03-14 দেয়। যে প্রোগ্রাম JSON পড়ে তার তারিখ দরকার হলে সে একে তারিখ হিসেবে ব্যাখ্যা করবে।
কাস্টম ট্যাগ মানা হয় না
কাস্টম ট্যাগ মানা হয় না: কেবল স্ট্যান্ডার্ড ধরন পড়া হয়, যা একটি ফাইলকে এমন কিছু চাওয়া থেকেও আটকায় যা এই পাতার নেই। YAML এমন ট্যাগ অনুমোদন করে যা কোনো নির্দিষ্ট প্রোগ্রামকে একটি নির্দিষ্ট অবজেক্ট বানাতে বলে। এমন নির্দেশ এখানে কিছুই বোঝায় না, আর রূপান্তরকারী সেগুলো অনুসরণ করে না।
এখানে YAML থেকে JSON কীভাবে রূপান্তর করবেন
আপনার ফাইল যোগ করুন
YAML ফাইলটি পাতায় ফেলুন বা আপনার ডিভাইস থেকে বাছুন। এটি আপনার ব্রাউজারের ভেতরে পড়া হয় এবং আপলোড হয় না।
রূপান্তর করুন
বোতাম চাপুন। সাধারণ আকারের ফাইলে এক মুহূর্ত লাগে। কাজ শেষ না হওয়া পর্যন্ত পাতা খোলা রাখুন।
ডাউনলোড করুন আর দেখে নিন
JSON ডাউনলোড করে একটি টেক্সট এডিটরে খুলুন। শুরু আর শেষ দেখুন, আর যাচাই করুন কাঠামো ও ধরনগুলো আপনার আশার মতো।
YAML আর JSON-এর দিকে আরও কাছ থেকে একবার
একই ডেটার জন্য দুটি নোটেশন
YAML ডিজাইন করা হয়েছিল মানুষের লিখতে ও পড়তে সহজ হওয়ার জন্য। JSON ডিজাইন করা হয়েছিল প্রোগ্রামের পড়তে ও লিখতে সহজ হওয়ার জন্য। তারা এত দূর মেলে যে JSON প্রায় YAML-এর একটি উপসেট, আর একটি YAML পাঠক সাধারণত JSON পড়তে পারে। উল্টোটি সত্য নয়, কারণ YAML-এর বৈশিষ্ট্য বেশি। YAML থেকে JSON রূপান্তর করা মানে সমৃদ্ধ নোটেশন থেকে কঠোরটিতে যাওয়া, আর বাড়তি জিনিস ছেড়ে দেওয়া: মন্তব্য, অ্যাংকর আর ট্যাগ।
ইনডেন্টেশনের ভুল কেন গুরুত্বপূর্ণ
YAML ইনডেন্টেশনের ওপর নির্ভর করে বলে একটি বেমানান লাইন অর্থ বদলে দেয়, আর কখনও কখনও তা তবুও পার্স হয়। যে কী ব্লকের ভেতরে থাকার কথা ছিল তা তার বাইরে গিয়ে পড়ে। JSON এমন ভুল দৃশ্যমান করে, কারণ ব্রেস ঠিক দেখায় প্রতিটি কী কোথায় পড়েছে। তাই রূপান্তর একটি ফাইল আপনি যা ভাবছেন তা-ই বোঝায় কি না যাচাই করার একটি কাজের উপায়ও।
ট্যাব
YAML ইনডেন্টেশনের জন্য ট্যাব অনুমোদন করে না। আপনার ফাইলে ট্যাব থাকলে রূপান্তর একটি সমস্যা জানাবে। ট্যাবগুলো স্পেস দিয়ে বদলে আবার চেষ্টা করুন।
বিস্তারিত সাধারণ পরিস্থিতি
সেবা আর টুলের জন্য কনফিগারেশন
অনেক টুল কেবল JSON-এ কনফিগারেশন নেয়, অথবা JSON স্কিমার বিপরীতে তা যাচাই করে। আপনার YAML রূপান্তর করে যেখানে JSON দরকার সেখানে ফল ব্যবহার করুন।
একটি ফাইল আসলে কী বলে তা যাচাই
একটি YAML কনফিগারেশন অদ্ভুত আচরণ করলে তাকে JSON-এ রূপান্তর করলে কাঠামো দ্ব্যর্থহীনভাবে দেখা যায়। ভুল জায়গার কী আর ভুল ধরন চোখে পড়ে।
স্ক্রিপ্ট ও API-কে জোগান দেওয়া
JSON বডি নেয় এমন একটি API-কে রূপান্তরের পর একটি YAML ফাইলের বিষয়বস্তু দেওয়া যায়। এতে ফাইলটি আপনি সম্পাদনা করতে পছন্দ করেন সেই রূপেই রাখতে পারেন।
ডকুমেন্টেশন আর বিষয়বস্তুর ফাইল
স্ট্যাটিক সাইট জেনারেটর ও ডকুমেন্টেশন টুল ফ্রন্ট ম্যাটার আর ডেটা ফাইলের জন্য YAML ব্যবহার করে। সেগুলো রূপান্তর করলে অন্য টুল একই ডেটা পড়তে পারে।
YAML থেকে JSON রূপান্তরের আগে ব্যবহারিক পরামর্শ
ইনডেন্টেশন যাচাই করুন
ট্যাব নয়, স্পেস ব্যবহার করুন, আর প্রতিটি স্তরে একই প্রস্থ রাখুন। বেশির ভাগ এডিটর ফাঁকা জায়গা দেখাতে আর YAML ত্রুটি হাইলাইট করতে পারে।
যে মান টেক্সট থাকতে হবে তা উদ্ধৃতিতে রাখুন
yes, no বা 1.0-এর মতো একটি খালি মান বুলিয়ান বা সংখ্যা হিসেবে পড়া হতে পারে। টেক্সট বোঝাতে চাইলে এর চারপাশে উদ্ধৃতি চিহ্ন দিন। এটি সংস্করণ নম্বর, কোড আর দেশের সংক্ষেপ রক্ষা করে।
মন্তব্য YAML-এ রাখুন
যেহেতু মন্তব্য টেকে না, YAML-কে তার ব্যাখ্যাসহ মাস্টার হিসেবে রাখুন, আর দরকারে JSON আবার তৈরি করুন।
বড় ফাইল
সবকিছু আপনার ডিভাইসে চলে, তাই খুব বড় ফাইলের মেমরি লাগে। অনেক মেগাবাইটের ফাইলের জন্য কম্পিউটার ব্যবহার করুন, আর পাতা ধীর চললে ডেটা ভাগ করুন।
রূপান্তরের আগে মানুষ যেসব প্রশ্ন করে
আমার মন্তব্য কোথায় গেল?
সেগুলো চলে গেছে। JSON-এর মন্তব্য রাখার জায়গা নেই, আর সেগুলো একটি ফাইল কীভাবে পড়া হয় তার অংশ, তার অর্থের নয়।
আমার তারিখ স্ট্রিং কেন?
কারণ JSON-এর কোনো তারিখ নেই। উদ্ধৃতি ছাড়া লেখা একটি তারিখ টেক্সট হয়ে আসে।
অ্যাংকর আর অ্যালিয়াসের কী হয়?
সেগুলো প্রসারিত হয়, তাই ফল নিজে নিজেই দাঁড়ায়।
আমার ট্যাগ কাজ করল না কেন?
কাস্টম ট্যাগ মানা হয় না। কেবল স্ট্যান্ডার্ড ধরন পড়া হয়।
আমার ফাইল কি আপলোড হয়?
না। রূপান্তর আপনার ব্রাউজারে চলে আর ফাইল আপনার ডিভাইস ছেড়ে যায় না।
আমি কি আবার YAML-এ ফিরতে পারি?
হ্যাঁ। JSON থেকে YAML ডেটা আবার পাঠযোগ্য রূপে লেখে, যদিও মূলের মন্তব্য ছাড়া।
YAML থেকে JSON রূপান্তরে বিচক্ষণ বাছাই
JSON কি সত্যিই দরকার?
গ্রহণকারী টুল YAML পড়লে YAML-ই রাখুন। কেবল JSON দরকার হলে রূপান্তর করুন।
অন্যান্য লক্ষ্য
গন্তব্য একটি মার্কআপ ফাইল হলে JSON থেকে XML অনুসরণ করতে পারে। টেবিলের জন্য JSON থেকে CSV আর JSON থেকে XLSX স্প্রেডশিটের কাজে লাগে।
YAML রেখে দিন
YAML-ই মাস্টার, তার মন্তব্য ও বিন্যাসসহ। এটি রাখুন, আর JSON-কে একটি কপি হিসেবে দেখুন।
রূপান্তরের পরে ভালো ফল পাওয়া
একটি ভিউয়ারে JSON যাচাই করুন
JSON বোঝে এমন একটি এডিটরে ফল খুলে অবজেক্টগুলো গুটিয়ে নিন। কাঠামো আপনার আশার মতো দেখালে তা সুস্থ।
ধরনগুলো দেখুন
সংস্করণ, কোড আর পতাকার মতো মানগুলো দেখুন। নিশ্চিত হন যেখানে স্ট্রিং চেয়েছিলেন সেখানে স্ট্রিং আর যেখানে সংখ্যা চেয়েছিলেন সেখানে সংখ্যা।
পরিবহনের জন্য মিনিফাই করুন
JSON নেটওয়ার্কে পাঠানো হলে এমন টুল আছে যা সাদা জায়গা সরিয়ে হালকা করে। ডেটা একই থাকে।
ভালোভাবে রূপান্তরের জন্য আপনার YAML প্রস্তুত করা
সাদামাটা রাখুন
YAML থেকে JSON রূপান্তরের সময় সাদামাটা YAML সবচেয়ে ভালো রূপান্তরিত হয়: ম্যাপ, তালিকা আর সরল মান। কাস্টম ট্যাগের মতো বৈশিষ্ট্য উপেক্ষিত হয়, আর অ্যাংকর কেবল ফাইল লম্বা করে।
ধরন নিয়ে স্পষ্ট হোন
অন্য ধরনের মতো দেখায় এমন যেকোনো কিছু উদ্ধৃতিতে রাখুন। চতুরতার চেয়ে স্পষ্টতা নিরাপদ, আর JSON ঠিক তাই বহন করবে যা আপনি লিখেছেন।
আগে একটি ছোট টুকরো দিয়ে পরীক্ষা করুন
আপনার ফাইল বড় হলে একটি অংশ একটি পরীক্ষার ফাইলে নিয়ে সেটি রূপান্তর করুন। ফলে একটি দ্রুত নজর দেখায় কাঠামো আপনার আশার মতো কি না।
YAML থেকে JSON রূপান্তরে সর্বোচ্চ পাওয়া
রূপান্তরকে যাচাই হিসেবে ব্যবহার করুন
পাতাটির সেরা ব্যবহারগুলোর একটি আয়না হিসেবে। YAML থেকে JSON রূপান্তর করলে ব্রেস ঠিক দেখায় ইনডেন্টেশন কীভাবে বোঝা হয়েছিল। একটি কী ভুল স্তরে থাকলে, বা একটি তালিকা এমন একটি এন্ট্রি গিলে ফেললে যা তার নেওয়ার কথা নয়, ফলে তা স্পষ্ট দেখা যায়। অনেকে একটি কনফিগারেশন রূপান্তর করে নিছক নিশ্চিত হতে যে তা তাঁরা যা বোঝাতে চেয়েছিলেন তাই বলছে।
ধরনের সাধারণ চমকের দিকে নজর রাখুন
YAML কিছু খালি শব্দকে অন্য ধরন হিসেবে পড়ে। no শব্দটি false হিসেবে পড়া হতে পারে, 1.10-এর মতো একটি সংস্করণ 1.1 সংখ্যা হিসেবে, আর NO-এর মতো একটি দেশের কোড কিছু পাঠকে বুলিয়ান হিসেবে। রূপান্তরকারী স্ট্যান্ডার্ড ধরন অনুসরণ করে, তাই সংখ্যা বা বুলিয়ানের মতো দেখায় এমন মান সেভাবেই ধরনযুক্ত হবে। সেগুলো টেক্সট থাকুক চাইলে রূপান্তরের আগে YAML-এ চারপাশে উদ্ধৃতি চিহ্ন দিন।
লম্বা স্ট্রিং আর ব্লক স্টাইল
YAML লম্বা টেক্সটের জন্য ব্লক স্টাইল দেয়, একটি লাইন ব্রেক রাখে আর একটি সেগুলোকে স্পেসে ভাঁজ করে। দুটিই পড়া হয় ফরম্যাটের নকশাকারেরা যেভাবে চেয়েছিলেন সেভাবে, আর ফল স্ট্রিং JSON-এ লেখা হয় তার লাইন ব্রেক এস্কেপ সিকোয়েন্স হিসেবে। লেখা একই, আর JSON কেবল মানুষের পড়ার জন্য কম আরামদায়ক, যে কারণে YAML আছে।
একটি ফাইলে কয়েকটি নথি
YAML একটি ফাইলে একাধিক নথি অনুমোদন করে, তিনটি ড্যাশ দিয়ে আলাদা। আপনার ফাইলে কয়েকটি থাকলে ভাবুন কোনটি চান। সেগুলো আলাদা ফাইলে ভাগ করে প্রতিটি রূপান্তর করুন, যাতে প্রতিটি JSON ফাইলে একটি নথি থাকে।
কনফিগারেশনে গোপন তথ্য
কনফিগারেশন ফাইলে কখনও কখনও পাসওয়ার্ড, টোকেন আর কী থাকে। যেহেতু রূপান্তর আপনার ব্রাউজারে ঘটে, কিছুই কোথাও পাঠানো হয় না। তবুও রূপান্তরিত ফাইলটি কোনো ভাগ করা ফোল্ডারে বা ইমেইলে রেখে দেবেন না, আর হস্তান্তরের আগে গোপন তথ্য সরিয়ে নিন।
দুটি ফরম্যাটকে ছন্দে রাখা
কোনো প্রকল্পে একই ডেটার YAML ও JSON দুটি সংস্করণই দরকার হলে একটিকে উৎস ধরুন আর বদলালে প্রতিবার অন্যটি আবার তৈরি করুন। যখনই YAML থেকে JSON রূপান্তর করেন, তা করুন বর্তমান YAML থেকে, আর হাতে JSON প্যাচ করবেন না। এভাবে দুটি আলাদা হয়ে সরে যেতে পারে না।
স্কিমার বিপরীতে যাচাই
অনেক টুল একটি স্কিমার বিপরীতে JSON যাচাই করে, কোন কী ও ধরন অনুমোদিত তার একটি বর্ণনা। একটি YAML কনফিগারেশন সব সময় সরাসরি যাচাই করা যায় না, কিন্তু তার JSON রূপ যায়। YAML থেকে JSON রূপান্তরের এটি একটি সাধারণ কারণ: ফাইল এমন সিস্টেমে পৌঁছানোর আগে যা তা প্রত্যাখ্যান করত, যাচাই করতে।
গোপনীয়তা আর সামলানো
কনফিগারেশনের জন্য স্থানীয় রূপান্তর কেন গুরুত্বপূর্ণ
কনফিগারেশন ফাইলে প্রায়ই ঠিকানা, অভ্যন্তরীণ সিস্টেমের নাম আর কখনও কখনও কী ও পাসওয়ার্ড থাকে। অনেক অনলাইন কনভার্টার আপনার ফাইল সার্ভারে আপলোড করে, প্রক্রিয়া করে আর ফল ফেরত পাঠায়, আর কিছুক্ষণ একটি কপি এমন মেশিনে থাকে যা আপনার নিয়ন্ত্রণে নেই। এখানে আপনার নিজের ব্রাউজার কাজ করে, তাই ফাইল আপনার ডিভাইসেই থাকে।
আপনি চলে গেলে কী হয়
পাতা বন্ধ করলে রূপান্তরিত ফাইল ব্রাউজার থেকে মিলিয়ে যায়, তাই আগে ডাউনলোড করে নিন। আপনার ফাইলের কিছুই রাখা হয় না।
কিছু ভুল হলে
পাতা একটি YAML ত্রুটি জানায়
সে যে লাইন দেখায় তা দেখুন। সাধারণ কারণ ইনডেন্টেশনে ট্যাব ব্যবহার, কোলনের পরে স্পেস না থাকা, অথবা বন্ধ না হওয়া উদ্ধৃতি।
কাঠামো আমার আশার মতো নয়
ইনডেন্টেশন দেখুন। এক স্পেস সরে থাকা একটি লাইন আপনার চাওয়ার চেয়ে ভিন্ন একটি ব্লকের অংশ।
বড় ফাইলে পাতা জমে যায়
সবকিছু আপনার ডিভাইসে চলে, আর একটি বড় ফাইলের মেমরি লাগে। কম্পিউটারে আবার চেষ্টা করুন, অথবা ডেটা ভাগ করুন।
সম্পর্কিত টুল
একই পরিবারের টুল পাশের কাজগুলো ধরে। ফিরে যেতে JSON থেকে YAML ব্যবহার করুন। মার্কআপের জন্য XML থেকে JSON আর JSON থেকে XML ওই দুটির মধ্যে রূপান্তর করে। টেবিলের জন্য আছে JSON থেকে CSV, CSV থেকে JSON, JSON থেকে XLSX আর XLSX থেকে JSON।
একটি কাজের উদাহরণ
ধরুন আপনার দল একটি অ্যাপ্লিকেশনের সেটিং রাখে মন্তব্য, পুনরাবৃত্ত ব্লকের জন্য অ্যাংকর আর একটি প্রকাশের তারিখসহ একটি YAML ফাইলে, এবং একটি মনিটরিং টুল একই সেটিং JSON হিসেবে চায়। আপনি ফাইলটি এখানে ফেলে বোতাম চাপেন। এক মুহূর্ত পরে আপনি একটি JSON ডাউনলোড করেন যাতে অ্যাংকর প্রসারিত, তারিখ একটি স্ট্রিং আর মন্তব্য চলে গেছে। আপনি তা টুলটিকে পাঠান। YAML আপনার রিপোজিটরিতে থাকে, মন্তব্যসহ, যে ফাইল মানুষ সম্পাদনা করে।
একটি সংক্ষিপ্ত চেকলিস্ট
রূপান্তরের আগে
ইনডেন্টেশন যাচাই করুন। যে মান টেক্সট থাকতে হবে তা উদ্ধৃতিতে রাখুন। YAML রেখে দিন।
রূপান্তরের সময়
ফাইল তৈরি না হওয়া পর্যন্ত পাতায় থাকুন।
রূপান্তরের পরে
JSON খুলুন, কাঠামো আর ধরন দেখুন, এবং যে টুল তা পড়বে তার সঙ্গে পরীক্ষা করুন।
সাধারণ ভুল
মন্তব্য টিকে থাকবে আশা করা
সেগুলো টেকে না। ব্যাখ্যার জন্য YAML রেখে দিন।
দ্ব্যর্থক মান খালি রেখে দেওয়া
yes, no আর 1.0-এর মতো মান অন্য ধরন হিসেবে পড়া হতে পারে। সেগুলো উদ্ধৃতিতে রাখুন।
ট্যাব ব্যবহার
YAML ইনডেন্টেশনের জন্য ট্যাব অনুমোদন করে না। স্পেস ব্যবহার করুন।
আপনার ফাইল আপনার ডিভাইসেই থাকে
রূপান্তর স্থানীয়ভাবে ঘটে। আপনার ফাইল আপনার নিজের ব্রাউজার পড়ে, সেখানেই আবার লেখে আর JSON হিসেবে ফিরিয়ে দেয়। কিছুই আপলোড হয় না, তাই সার্ভারে কোনো কপি থাকে না আর অন্য কেউ তা পড়তে পারে না। ব্যক্তিগত বিষয়বস্তুর কনফিগারেশনের জন্য এটাই নিরাপদ উপায়ে YAML থেকে JSON রূপান্তর।
সংক্ষেপে
এখানে YAML থেকে JSON রূপান্তর করতে ফাইল ফেলুন আর বোতাম চাপুন। এটি আপনার ব্রাউজারে পড়া ও লেখা হয়, তাই ফাইল কখনও আপনার ডিভাইস ছেড়ে যায় না। সবকিছু রক্ষা পায়, কারণ দুটি একই আকার ধরে: ম্যাপ, তালিকা, স্ট্রিং, সংখ্যা, বুলিয়ান ও null ক্ষতি ছাড়াই পার হয়। অ্যাংকর ও অ্যালিয়াস প্রসারিত হয়, তাই ফল নিজে নিজেই দাঁড়ায়। মন্তব্য, ফাঁকা লাইন আর উদ্ধৃতি চিহ্নসহ ও ছাড়া বেছে নেওয়া একটি YAML ফাইল কীভাবে পড়া হয় তার অংশ, তার অর্থের নয়, আর কোনোটিই টেকে না, কারণ JSON-এর সেগুলো রাখার জায়গা নেই। উদ্ধৃতি ছাড়া লেখা একটি তারিখ টেক্সট হয়ে আসে, কারণ JSON-এর কোনো তারিখ নেই। কাস্টম ট্যাগ মানা হয় না: কেবল স্ট্যান্ডার্ড ধরন পড়া হয়।