কনফিগ কনভার্টার

একটি কনফিগ ফরম্যাট পেস্ট করুন, টাইপ করার সময়ই বাকি দুটি পান।

কীভাবে ব্যবহার করবেন

  1. আপনার কনফিগ পেস্ট করুন — YAML, JSON বা Java .properties। ফরম্যাট শনাক্ত হয় এবং টাইপ করার সময়ই বাকি দুটি নিচে দেখা যায়; কোনো বাটন চাপার দরকার নেই।
  2. যদি অনুমান ভুল হয়, নিজেরা উৎস ফরম্যাট নির্বাচন করুন। 2 বা 4 স্পেস ইন্ডেন্ট বেছে নিন, এবং Spring-স্টাইল কী ফ্ল্যাট রাখতে "ডটেড কী প্রসারিত করুন" অফ করুন।
  3. প্রতিটি ফলাফল আলাদাভাবে কপি বা ডাউনলোড করুন — ফাইলের নাম config.yaml, config.json এবং config.properties।

উদাহরণ

ইনপুট (YAML)

server:
  port: 8080
  name: order-service
debug: true

JSON এবং Properties

{
  "server": {
    "port": 8080,
    "name": "order-service"
  },
  "debug": true
}

Properties
----------
server.port = 8080
server.name = order-service
debug = true

শুধু ডিফল্ট নিয়ম: উৎস YAML হিসেবে শনাক্ত হয়, তাই 8080 সংখ্যা থাকে এবং true বুলিয়ান থাকে। Properties-এ টাইপ নেই, তাই একই মান JSON-এ স্ট্রিং 8080 ও true হয় — উৎস .properties হলে শুরু থেকেই স্ট্রিং থাকে।

নিয়ম, সীমাবদ্ধতা ও পরিচিত সমস্যা

  • শুধু তিনটি ফরম্যাট: YAML, JSON এবং Java .properties। TOML নেই, INI [section] হেডার নেই, XML বা CSV নেই।
  • YAML একটি কনফিগ সাবসেট হিসেবে সমর্থিত: ব্লক ম্যাপিং, সিকোয়েন্স, ফ্লো {…} / […], কোটেড স্কেলার এবং | / > ব্লক স্কেলার। অ্যাংকর (&), অ্যালিয়াস (*), !ট্যাগ, << মার্জ কী এবং ? জটিল কী অনুমান না করে error হিসেবে রিপোর্ট হয়।
  • শুধু প্রথম YAML নথি রূপান্তর হয়; পরের --- উপেক্ষা ও রিপোর্ট হয়।
  • কমেন্ট বহন করে নেওয়া হয় না: তিনটি ফরম্যাটে ভিন্ন জায়গায় বসে, তাই ভুল জায়গায় রাখা কমেন্ট না রাখার চেয়ে খারাপ।
  • Properties-এ টাইপ নেই। প্রতিটি মান স্ট্রিং, তাই port = 8080 JSON-এ "8080" হয় — 8080 নয়। সংখ্যা, বুলিয়ান ও null শুধু টিকে থাকে যখন উৎস YAML বা JSON হয়।
  • নন-ASCII টেক্সট যেমন আছে তেমন লেখে (UTF-8), \uXXXX হিসেবে এস্ক্যাপ করে না। Java'র Properties.store() ISO-8859-1 লেখে, তাই Java প্রজেক্টে পেস্ট করলে ফাইল UTF-8-তে সেভ করুন।
  • সেফ রেঞ্জের বাইরের পূর্ণসংখ্যা (যেমন 12345678901234567890) আপনার টাইপ করা সঠিক অঙ্কসহ স্ট্রিং হিসেবে রাখা হয়, সংখ্যায় রাউন্ড করে নয়।
  • কী ক্রম আপনার ইনপুট অনুসরণ করে; সর্টিং অপশন নেই।
  • টপ-লেভেল অ্যারে বা সাধারণ মান properties-এ লেখা যায় না — ওই একটি প্যানেল রিপোর্ট করে, অন্যটি রূপান্তর চালিয়ে যায়।
  • ফাইল আপলোড নেই, URL প্যারামিটার নেই, হিস্টরি নেই। সব আপনার ব্রাউজারে চলে: কিছুই আপলোড বা সেভ হয় না।
  • লাইন ব্রেক থাকা স্ট্রিং YAML-এ | ব্লক স্কেলার নয় "a\nb" হিসেবে লেখে।
  • সীমা: 1,000,000 অক্ষর এবং 64 লেভেল নেস্টিং — কোনোটির বেশি হলে ছাঁটানো ফলাফলের বদলে error পান। 200,000 অক্ষরের উপরে টাইপ করা থামানোর প্রায় 0.6 সেকেন্ড পরে ফলাফল আপডেট হয়; আউটপুট LF ব্যবহার করে এবং ট্রেইলিং নিউলাইন নেই।

কনফিগ সঠিক ফরম্যাটে আসার পরে সাধারণত যা প্রয়োজন হয়।