JSON Toolkit

JSON নাকি YAML

সংক্ষেপে: JSON ব্রেস দিয়ে আর YAML ইনডেন্টেশন দিয়ে সীমানা টানে: মেশিনে JSON, কনফিগ সম্পাদনা করা মানুষে YAML। কমেন্ট, অ্যাঙ্কর ও বহু-ডকুমেন্ট কাঠামো টেকে না।

শিক্ষানবিশ~4 মিনিট পড়াপ্রকাশ 2026-10-30আপডেট 2026-10-30
কখন JSON আর কখন YAML ব্যবহার করবেন

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

পাশাপাশি

{
  "server": {
    "host": "127.0.0.1",
    "port": 8080
  }
}
server:
  host: 127.0.0.1
  port: 8080

একই কাঠামো। YAML বিরামচিহ্ন বাদ দেয় আর কমেন্টের জায়গা পায়।

কোথায় আলাদা

JSON YAML
কাঠামো ব্রেস ও কমা ইনডেন্টেশন
কমেন্ট নেই আছে
স্ট্রিং ডাবল কোট, এস্কেপ দরকার সাধারণত খালি
মাল্টি-লাইন টেক্সট \n এস্কেপ বা অ্যারে `
পুনর্ব্যবহার নেই অ্যাঙ্কর & ও alias *
একাধিক ডকুমেন্ট অ্যারেতে মুড়ুন --- বিভাজক
পার্স গতি দ্রুত ধীর, ইনডেন্টেশন নিয়ম
দ্ব্যর্থতা খুব কম no বুলিয়ান হিসেবে পার্স, এক ইনডেন্টেশন সরে যাওয়া

শেষ সারিটাই YAML-এর আসল দাম। YAML 1.1-এ country: NO বুলিয়ান false দেয়, আর version: 1.0 ফ্লোট হয়ে যেতে পারে। JSON-এ অন্তর্নিহিত টাইপিং একেবারেই নেই।

বাছাই

JSON: রিকোয়েস্ট ও রেসপন্স বডি, সার্ভিস-থেকে-সার্ভিস মেসেজ, ডেটাবেসের JSON কলাম, প্রতিটি ভাষায় অভিন্নভাবে পার্স হতে হবে এমন যেকোনো কিছু।

YAML: যে ইকোসিস্টেমে এটি ডিফল্ট (Kubernetes, Ansible, GitHub Actions, Docker Compose); ব্যাখ্যা দরকারি কনফিগারেশন; সার্টিফিকেট, স্ক্রিপ্ট বা SQL-এর মতো দীর্ঘ টেক্সটপ্রধান ফাইল।

রূপান্তরে কী হারায়

YAML → JSON: সব কমেন্ট, অ্যাঙ্কর পুনর্ব্যবহার (ডুপ্লিকেটে প্রসারিত), প্রথমটি ছাড়া সব ডকুমেন্ট, আর তারিখ ও বুলিয়ানের মূল বানান।

JSON → YAML: স্ট্রিং/সংখ্যার পার্থক্য দুর্বল হয়, তাই "8080" ও 8080 — দুটোকেই সুরক্ষিত রাখতে স্পষ্ট কোট দরকার।

মাইগ্রেশন ও এককালীন পরিদর্শনে রূপান্তর করুন। একই ফাইল দুই ফরম্যাটে সমান্তরাল দৃশ্য হিসেবে রক্ষণাবেক্ষণ করবেন না।

সাধারণ প্রশ্ন

JSON ও YAML-এর মধ্যে কীভাবে ঠিক করব?

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

YAML বেশি টাইপ দ্ব্যর্থতা তৈরি করে কেন?

YAML-এ অন্তর্নিহিত টাইপিং আছে, তাই NO, on বা 1.0-এর মতো মান বুলিয়ান, tanggal বা সংখ্যা হয়ে যেতে পারে। JSON-এ কেবল স্পষ্ট টাইপ: স্ট্রিং কোট করতে হয়, যা ভাষাভেদে পার্সিংকে বেশি পূর্বানুমেয় করে।

YAML থেকে JSON-এ রূপান্তরে কমেন্ট ও অ্যাঙ্কর টিকে থাকা উচিত?

না। YAML কমেন্ট, অ্যাঙ্কর ও একাধিক ডকুমেন্ট JSON-এ প্রকাশ করা যায় না; অ্যাঙ্কর ডুপ্লিকেট কন্টেন্টে প্রসারিত হয়। সংরক্ষণ দরকার হলে object round trip না করে Document API-যুক্ত YAML লাইব্রেরি ব্যবহার করুন।

আরও পড়ুন