JSON-কে YAML-এ এবং ফেরত রূপান্তর করুন
JSON ও YAML-এর মধ্যে রূপান্তর
JSON ও YAML একই ডেটা — ম্যাপ, লিস্ট, স্ট্রিং, সংখ্যা, বুলিয়ান ও null — দুটি সিনট্যাক্সে বর্ণনা করে। JSON হলো API ও প্যাকেজ ফাইলের ভাষা; YAML-এ Docker, Kubernetes, GitHub Actions ও CI পাইপলাইনের কনফিগ ফাইল লেখা হয়। এই কনভার্টার একটিকে অন্যটিতে তৎক্ষণাৎ অনুবাদ করে এবং যে খুঁটিনাটিতে লোকে আটকে যায় তার দায়িত্ব নেয়: উদ্ধৃতি, ইনডেন্ট এবং YAML যে অদ্ভুত শব্দগুলোকে বুলিয়ান ধরে।
ধাপ
- 1 দিক বেছে নিন এবং নথি উপরের বাক্সে পেস্ট করুন। লেখার সঙ্গে সঙ্গে ফল নিচে দেখা যায়।
- 2 ইনডেন্টের প্রস্থ ঠিক করুন — YAML-এ ও অধিকাংশ JSON স্টাইল গাইডে 2 স্পেসই প্রচলন।
- 3 ফল কপি করুন, ফাইল হিসেবে ডাউনলোড করুন, অথবা ফিরতি-পথ যাচাই করতে আউটপুটকে নতুন ইনপুট বানান।
দুই ফরম্যাটের মধ্যে কী বদলায়
YAML কার্লি ও স্কোয়ার ব্র্যাকেট ও অধিকাংশ উদ্ধৃতি ফেলে দেয় এবং কাঠামোর জন্য ইনডেন্ট ব্যবহার করে, তাই 40 লাইনের JSON অবজেক্ট 25 লাইনের YAML নথি হয়। কী-গুলো একই ক্রমে থাকে। লিস্ট ড্যাশ আইটেম হয়; নেস্টেড অবজেক্ট ইনডেন্টেড ব্লক; খালি অবজেক্ট বা লিস্ট {} বা [] হিসেবেই লেখা থাকে। উল্টো দিকে YAML মন্তব্য হারিয়ে যায়, কারণ JSON-এ মন্তব্য নেই।
কিছু স্ট্রিং উদ্ধৃতিতে বের হয় কেন
YAML-এ উদ্ধৃতিহীন yes, no, on, off, true বা null বুলিয়ান বা null হিসেবে পড়া হয়, আর 123 বা 1.0 সংখ্যা হিসেবে। এগুলোর মতো দেখতে স্ট্রিং উদ্ধৃতিতে থাকতে হয়, না হলে ফেরার পথে ধরন বদলে যায় — ক্লাসিক উদাহরণ দেশের কোড NO-র false হয়ে যাওয়া। কনভার্টার ঠিক এই স্ট্রিংগুলোকেই উদ্ধৃতিতে রাখে, সঙ্গে শুরু-শেষে স্পেস, স্পেসসহ কোলন বা শুরুতে বিশেষ অক্ষরযুক্ত সবকিছু; বাকি সব পঠনযোগ্যতার জন্য সাদা থাকে।
বহু-লাইনের স্ট্রিং
লাইন ব্রেকযুক্ত স্ট্রিং YAML ব্লক স্কেলার হিসেবে লেখা হয়: কী-র লাইনে একটি পাইপ এবং নিচে ইনডেন্টেড টেক্সট, স্ট্রিংয়ের শেষে নিউলাইন না থাকলে একটি মাইনাস চিহ্ন। Kubernetes ম্যানিফেস্ট ও CI ফাইলে এই রূপই দেখা যায়, এবং এটি ঠিক একই স্ট্রিংয়ে ফিরে পড়া হয়।
ইনডেন্ট ও সামঞ্জস্য
কনভার্টার YAML 1.2 লেখে, যা প্রতিটি আধুনিক পার্সার পড়ে — PyYAML, js-yaml, Go yaml, Ruby Psych। নেস্টেড কী বেছে নেওয়া প্রস্থে ইনডেন্ট হয়; লিস্টের ভেতরের অবজেক্টের কী সব অবস্থায় ড্যাশের দুই স্পেস পরে বসে, স্পেসিফিকেশন যেমন চায়। ট্যাব কখনও ব্যবহার হয় না।