JSON to YAML Converter
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
JSON থেকে YAML-এ যাওয়া বেশিরভাগই মানুষের জন্য ডেটা আরও পাঠযোগ্য করে তোলার বিষয়ে। উভয় ফরম্যাটই একই ধরনের কাঠামো বর্ণনা করে — অবজেক্ট/মানচিত্র, অ্যারে/সিকোয়েন্স, স্কেলার — কিন্তু YAML-এর ইন্ডেন্টেশন-ভিত্তিক সিনট্যাক্স, ঐচ্ছিক উদ্ধৃতি এবং মন্তব্যের সমর্থন হাত দিয়ে স্ক্যান করা এবং সম্পাদনা করা সহজ করে তোলে। কনফিগারেশন ফাইলগুলি হল ক্যানোনিকাল ব্যবহারের ক্ষেত্রে: কুবারনেটস ম্যানিফেস্ট, সিআই ওয়ার্কফ্লো, উত্তরযোগ্য প্লেবুক এবং আরও কয়েক ডজন টুল বিশেষভাবে YAML বেছে নিয়েছে কারণ তাদের প্রাথমিক সম্পাদকরা মানুষ।
এই কনভার্টারটি পার্স করা JSON অবজেক্টকে YAML-এ সিরিয়ালাইজ করতে js-yaml ব্যবহার করে। YAML কনভেনশনগুলি প্রয়োগ করার সময় ফলাফলটি ডেটার কাঠামো ঠিক রাখে: নেস্টিংয়ের জন্য ইন্ডেন্টেশন, অ্যারের জন্য তালিকা, বস্তুর বৈশিষ্ট্যগুলির জন্য কী-মান জোড়া। JSON এর কঠোর ডাবল-উদ্ধৃতি শিথিল; শুধুমাত্র বিশেষ অক্ষর সম্বলিত স্ট্রিং বা অন্য ধরনের মত দেখতে আউটপুটে উদ্ধৃত করা হয়।
রূপান্তর হল তথ্য-সংরক্ষণ ব্যতীত যেখানে YAML অভিব্যক্তি যোগ করে JSON-এর নেই। মন্তব্য পুনর্গঠন করা যাবে না (JSON এর কোনটি ছিল না)। অ্যাঙ্কর এবং উপনাম রেফারেন্সগুলি সম্ভাব্যভাবে পুনরাবৃত্ত কাঠামোকে সংকুচিত করতে পারে তবে স্বয়ংক্রিয়ভাবে তৈরি হয় না; আউটপুট ইনলাইনে সমস্ত রেফারেন্স প্রসারিত করে।
মানুষের সম্পাদনা কনফিগারেশনের জন্য YAML নাটকীয়ভাবে JSON এর চেয়ে বেশি পাঠযোগ্য। ইন্ডেন্টেশন ব্রেস নেস্টিং প্রতিস্থাপন করে, উদ্ধৃতিগুলি সাধারণ স্ট্রিংগুলির জন্য ঐচ্ছিক, এবং মন্তব্যগুলি অ-স্পষ্ট সেটিংস নথিভুক্ত করতে পারে। যে ফাইলগুলি মানুষ বজায় রাখে — অ্যাপ্লিকেশন কনফিগারেশন, অবকাঠামো-কোড, বিল্ড পাইপলাইন — YAML প্রায় সবসময়ই সঠিক গন্তব্য ফর্ম্যাট।
আধুনিক অবকাঠামো টুলিং ব্যাপকভাবে YAML এর পক্ষে। Kubernetes, Helm charts, Ansible, GitHub Actions, GitLab CI, Docker Compose, এবং অন্যান্য অনেক টুল হয় YAML পছন্দ করে বা প্রয়োজন। একটি সিস্টেম থেকে JSON রপ্তানিকে অন্যের জন্য YAML কনফিগারে রূপান্তর করা একটি রুটিন ইন্টিগ্রেশন ধাপ।
JSON পেস্ট করুন, YAML পান।
js-yaml এর ডাম্প ফাংশন জাভাস্ক্রিপ্ট অবজেক্ট ট্রিতে চলে এবং কনফিগারযোগ্য ফরম্যাটিং ব্যবহার করে YAML নির্গত করে। ইন্ডেন্ট গভীরতা, লাইন প্রস্থ, প্রবাহ শৈলী থ্রেশহোল্ড, এবং উদ্ধৃতি হ্যান্ডলিং সব পরামিতি। ডিফল্ট সেটিংস 2-স্পেস ইন্ডেন্টেশন সহ ব্লক-স্টাইল YAML তৈরি করে, এটি সবচেয়ে সাধারণ নিয়ম।
স্ট্রিং উদ্ধৃতি YAML-এর নিয়মগুলি অনুসরণ করে: স্ট্রিংগুলি যেগুলি অন্যান্য ধরণের (সংখ্যা, বুলিয়ান, নাল, তারিখ) মত দেখায় সেগুলিকে জোর করে স্ট্রিং ব্যাখ্যা করার জন্য উদ্ধৃত করা হয়; বিশেষ অক্ষর (কোলন, হ্যাশ, লিডিং ড্যাশ) ধারণকারী স্ট্রিং উদ্ধৃত করা হয়; সরল বর্ণানুক্রমিক স্ট্রিংগুলি উদ্ধৃত করা ছাড়া বাকি আছে।
আউটপুট হল YAML 1.2 সামঞ্জস্যপূর্ণ এবং js-yaml, PyYAML এবং অন্যান্য প্রধান YAML লাইব্রেরির সাথে পরিষ্কারভাবে পার্স করে। ইডেমপোটেন্ট রাউন্ড-ট্রিপ (JSON → YAML → JSON) ডেটা সংরক্ষণ করে, যদিও YAML উপস্থাপনা ক্যানোনিকাল ফর্ম্যাটিং বেছে নেয় যা হাতে লেখা সমতুল্য থেকে আলাদা হতে পারে।