UltKit
ছবি11
PDF13
ডকুমেন্ট ও ডেটা7
ভিডিও6
অডিও4
আরও টুল22

JSON থেকে YAML কনভার্টার

JSON-কে এমন YAML-এ রূপান্তর করুন, যা সহজে পড়া, রিভিউ করা আর কমেন্ট যোগ করা যায়। .json ফাইল আপলোড করুন। একই কী, ভ্যালু ও ক্রম বজায় রেখে ইনডেন্টেড .yaml ফাইল পাবেন, যা সরাসরি রিপোজিটরিতে রাখা যায়।

ডেটা কনভার্টার

অথবা CSV, TSV, TXT … ফাইল এখানে ড্রop করুন ·

প্রতি ফাইল সর্বোচ্চ 95 MB· সর্বোচ্চ 20টি ফাইল· 30 মিনিট পরে মুছে ফেলা হয়

আউটপুট

ফাইল আমাদের সার্ভারে প্রসেস করা হয় এবং 30 মিনিট পরে মুছে ফেলা হয়।

এই টুল কীভাবে ব্যবহার করবেন

  1. 1

    JSON ফাইল যোগ করুন

    API রেসপন্স, এক্সপোর্ট করা সেটিংস বা তৈরি করা ম্যানিফেস্ট .json ফাইল হিসেবে আপলোড করুন, সর্বোচ্চ ২০টি ফাইল এবং প্রতিটি ৯৫ MB পর্যন্ত। প্রতিটি ফাইলে একটি বৈধ JSON মান থাকতে হবে।

  2. 2

    ডিফল্ট সেটিংস রেখে দিন

    যে ফরম্যাটে রূপান্তর-এর নিচে YAML আগে থেকেই নির্বাচিত আছে। কনফিগ ফাইলের জন্য আর কিছু বদলাতে হবে না; আউটপুটে দুই স্পেসের ইন্ডেন্টেশন ব্যবহার হয়।

  3. 3

    কনভার্ট করে কমিট করুন

    YAML-এ কনভার্ট করুন চাপুন, .yaml ফাইল ডাউনলোড করুন, পরের পাঠকের যেখানে দরকার হবে সেখানে কমেন্ট যোগ করুন, তারপর কমিট করুন।

উত্তর

JSON কে YAML-এ কীভাবে রূপান্তর করব?

.json ফাইল আপলোড করে YAML-এ কনভার্ট করুন চাপুন। অবজেক্ট ইন্ডেন্ট করা key: value ব্লক হয়, অ্যারে ড্যাশসহ তালিকা হয়, আর YAML যে স্ট্রিং ভুল পড়তে পারে তার কোট থেকে যায়।

কনফিগ ফাইলের জন্য JSON থেকে YAML-এ কেন কনভার্ট করবেন

বেশির ভাগ JSON সফটওয়্যার তৈরি করে: API রেসপন্স, সেটিংস এক্সপোর্ট, জেনারেটরের আউটপুট। বেশির ভাগ YAML মানুষ রক্ষণাবেক্ষণ করে। এই রূপান্তর সাধারণত সেই মুহূর্ত চিহ্নিত করে যখন ডেটা যন্ত্রের আউটপুট থেকে দলের নিজস্ব জিনিস হয়ে ওঠে, যেমন Git-এ চেক-ইন করা ডিপ্লয়মেন্ট ম্যানিফেস্ট, CI পাইপলাইন বা Ansible ভেরিয়েবলের সেট।

একটি সাধারণ ঘটনা: ক্লাউড API কল করে ২০০ লাইনের JSON বর্ণনা পেলেন এবং সেটি ইনফ্রাস্ট্রাকচার কোড হিসেবে রাখতে চান। রূপান্তরে ব্রেস ও কমা ছাড়া ফাইল পাবেন, যেখানে এক লাইনের বদলে এক লাইনের ডিফ হয় এবং অদ্ভুত মান কমেন্টে ব্যাখ্যা করা যায়। টেস্ট ফিক্সচার ও নন-ডেভেলপারদের সম্পাদিত অনুবাদ ফাইলের ক্ষেত্রেও একই কথা। স্প্রেডশিট বা রিপোর্টের জন্য সমতল টেবিল দরকার হলে JSON থেকে CSV বেশি মানানসই।

যেসব টুলের কনফিগ ফাইল YAML-এ লেখা

কনভার্ট করা YAML সাধারণত যেখানে কাজে লাগে
সংস্থাশর্তসূত্র
GitHub Actionsওয়ার্কফ্লো .github/workflows-এ .yml বা .yaml ফাইল হিসেবে থাকেGitHub Docs
GitLab CI/CDপাইপলাইন রিপজিটরির রুটে .gitlab-ci.yml-এ নির্ধারিত হয়GitLab Docs
Docker Composeসার্ভিস compose.yaml-এ বর্ণিত হয় (আগে docker-compose.yml)Docker Docs
Ansibleপ্লেবুক ও ভেরিয়েবল ফাইল YAML-এ লেখা হয়Ansible Docs
Kubernetesম্যানিফেস্টে JSON বা YAML চলে; ডকুমেন্টেশন ও Helm চার্টে YAML ব্যবহৃত হয়Kubernetes

জটিল ভ্যালুসহ JSON থেকে YAML-এর উদাহরণ

{"name":"api","version":"1.10","debug":false,"tags":["web","eu"],"country":"NO"}-এর YAML আউটপুট
name: api
version: "1.10"
debug: false
tags:
  - web
  - eu
country: "NO"  # উদ্ধৃতি ছাড়া NO হয়ে যেত false

YAML যা দেয়

  • # দিয়ে কমেন্ট
  • কোড রিভিউয়ে ছোট ডিফ
  • বেশির ভাগ লাইনে ব্রেস, কমা বা কোট নেই
  • | ব্লক স্কেলারে বহু লাইনের টেক্সট

যা খেয়াল রাখবেন

  • ইন্ডেন্টেশনই অর্থ বহন করে, তাই একটি বাড়তি স্পেস কাঠামো বদলে দেয়
  • ইন্ডেন্টেশনে ট্যাব অনুমোদিত নয়
  • কোটহীন স্ট্রিং সংখ্যা বা বুলিয়ান হিসেবে পড়া হতে পারে
  • JSON-এর চেয়ে ধীর ও কম অভিন্ন পার্সার

উদাহরণটি দেখায় কেন শুধু ব্রেস খুঁজে বদলানো যথেষ্ট নয়। ভার্সন 1.10 JSON-এ একটি স্ট্রিং; YAML-এ কোট ছাড়া লিখলে সেটি সংখ্যা 1.1 হিসেবে পড়া হতো। নরওয়ের ISO কোড NO-কে PyYAML-এর মতো YAML 1.1 পার্সার false হিসেবে পড়ত। দুটোর কোট থেকে যায়, আর প্রকৃত সংখ্যা ও বুলিয়ান কোট ছাড়াই থাকে।

JSON ও YAML-এর তুলনা

JSON

জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন

JSON হলো কাঠামোবদ্ধ ডেটার জন্য হালকা টেক্সট ফরম্যাট, যা ২০০০-এর দশকের শুরুতে Douglas Crockford জনপ্রিয় করেন এবং RFC 8259 ও ECMA-404 হিসেবে মানসম্মত হয়। সহজ ও পাঠযোগ্য সিনট্যাক্সে এটি অবজেক্ট, অ্যারে, স্ট্রিং, সংখ্যা, বুলিয়ান ও null প্রকাশ করে। প্রায় সব প্রোগ্রামিং ভাষায় ওয়েব API, কনফিগারেশন ফাইল ও অ্যাপের মধ্যে ডেটা আদান-প্রদানের ডিফল্ট ফরম্যাট এটি। এতে কমেন্ট, তারিখ বা স্কিমা বিল্ট-ইন নেই, এবং বড় নেস্টেড ফাইল ভিউয়ার ছাড়া পড়া কঠিন।

কম্প্রেশন
–
স্বচ্ছতা (ট্রান্সপারেন্সি)
–
অ্যানিমেশন
–
প্রবর্তনের সাল
2001 · Douglas Crockford
JSON কনভার্টার

YAML

YAML

YAML ("YAML Ain't Markup Language") হলো মানুষের জন্য সহজ একটি ডেটা ফরম্যাট, যা প্রথম প্রকাশিত হয় ২০০১ সালে। এটি ব্র্যাকেটের বদলে ইনডেন্টেশন ব্যবহার করে, কমেন্ট সাপোর্ট করে এবং JSON-এর সুপারসেট। Docker Compose, Kubernetes, GitHub Actions ও অনেক অ্যাপ্লিকেশনের কনফিগারেশনে এটি বহুল ব্যবহৃত। হোয়াইটস্পেসের উপর নির্ভরশীল হওয়ায় একটি ভুল স্পেসেই এটি ভেঙে যেতে পারে, আর "no" বা তারিখের মতো কিছু মান অপ্রত্যাশিতভাবে ব্যাখ্যা হতে পারে।

কম্প্রেশন
–
স্বচ্ছতা (ট্রান্সপারেন্সি)
–
অ্যানিমেশন
–
প্রবর্তনের সাল
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML কনভার্টার

জেনারেট করা বা API-র ডেটাকে এমন কনফিগ ফাইলে পরিণত করতে হয় যা মানুষ রক্ষণাবেক্ষণ করে, পুল রিকোয়েস্টে রিভিউ করে ও কমেন্ট দিয়ে ব্যাখ্যা করে, তাই মানুষ JSON থেকে YAML-এ রূপান্তর করে।

JSON থেকে YAML কনভার্টার নিয়ে প্রশ্ন

JSON কি আগে থেকেই বৈধ YAML?

YAML 1.2-এ হ্যাঁ: ২০০৯ সালের এই সংস্করণ এমনভাবে লেখা হয়েছিল যাতে প্রতিটি JSON ডকুমেন্ট একই সঙ্গে YAML ডকুমেন্টও হয়। JSON পেস্ট করে .yaml ফাইলে রাখলেও বেশির ভাগ টুল তা গ্রহণ করবে। রূপান্তরের উদ্দেশ্য পড়ার সুবিধা: ব্রেস, কোট ও কমা ছাড়া ব্লক স্টাইলই রিভিউয়ার ও পরবর্তী মেইনটেইনার আশা করেন।

YAML-এ কিছু ভ্যালু কোটের মধ্যে কেন থাকে?

কারণ কোট ছাড়া YAML সেগুলোকে অন্য টাইপ হিসেবে পড়বে। 1.10-এর মতো ভার্সন স্ট্রিং হয়ে যেতে পারে সংখ্যা 1.1, আর পুরোনো পার্সারে yes বা off বুলিয়ান হয়ে যেতে পারে। সংখ্যা, তারিখ বা বুলিয়ানের মতো দেখতে স্ট্রিংকে স্ট্রিং রাখতে কোট লাগে, তাই সতর্ক রূপান্তরে সেগুলো রেখে দেওয়া হয়।

কনভার্ট করার পরে কি কমেন্ট যোগ করা যায়?

হ্যাঁ, আর এটি রূপান্তরের একটি প্রচলিত কারণ। লাইনের শেষে বা আলাদা লাইনে # দিয়ে আপনার মন্তব্য লিখুন। JSON-এ কোনো মান কেন সেট করা হয়েছে তা ব্যাখ্যার উপায় ছিল না; YAML-এ আছে, ফলে রিভিউ ও হ্যান্ডওভার সহজ হয়।

আমার YAML-এ ট্যাব ক্যারেক্টারের এরর কেন আসে?

YAML স্পেসিফিকেশনে ইন্ডেন্টেশনে ট্যাব নিষিদ্ধ; শুধু স্পেস গণ্য হয়। কনভার্টার স্পেস লেখে, কিন্তু ট্যাব বসানোর জন্য সেট করা এডিটর পরের সম্পাদনায় ফাইল নষ্ট করতে পারে। .yaml ফাইলের জন্য এডিটরে স্পেস ব্যবহার করতে সেট করুন।

কনভার্ট করা ম্যানিফেস্ট কি Kubernetes গ্রহণ করবে?

kubectl JSON ও YAML দুটোই পড়ে, তাই ডেটা একই থাকে; YAML সংস্করণ শুধু বেশির ভাগ ডকুমেন্টেশন, Helm চার্ট ও কোড রিভিউতে ব্যবহৃত রূপ। পরে jq বা API কলের জন্য JSON ফেরত লাগলে YAML থেকে JSON সেটি উল্টে দেয়।