TOML থেকে JSON কনভার্টার
বাম দিকে TOML পেস্ট করুন, ডান দিকে JSON পান। টেবিল অবজেক্টে পরিণত হয়, টেবিল অ্যারে অ্যারেতে। কোনো আপলোড নেই।
- বাম টেক্সট এরিয়ায় আপনার TOML পেস্ট করুন।
- "JSON-এ রূপান্তর" ক্লিক করুন। আউটপুট টেবিল নেস্টিং সংরক্ষণ করে এমন JSON অবজেক্ট।
- ফলাফল কপি করুন বা data.json হিসাবে ডাউনলোড করুন।
- ডেটটাইম মান ISO 8601 স্ট্রিং-এ রূপান্তরিত হয়; সংখ্যায় আন্ডারস্কোর সরিয়ে দেওয়া হয়।
এটি কী করে?
TOML 1.0 ডকুমেন্টকে JSON অবজেক্টে পার্স করে। `[section]` টেবিল নেস্টেড অবজেক্ট হয়; `[[items]]` টেবিল অ্যারে JSON অ্যারেতে পরিণত হয়। স্ট্রিং, ইন্টিজার (হেক্স/অক্টাল/বাইনারি লিটারাল ও সংখ্যা গ্রুপিং আন্ডারস্কোর সহ), ফ্লোট, বুলিয়ান, তারিখ, ডেটটাইম এবং সময় সবই JSON-সমতুল্য উপস্থাপনায় ম্যাপ হয়। ইনলাইন টেবিল ও ইনলাইন অ্যারে একই উপায়ে চ্যাপ্টা হয়।
উদাহরণ
TOML ইনপুট:
name = "Ada"
active = true
[address]
city = "London" JSON আউটপুট:
{
"name": "Ada",
"active": true,
"address": {
"city": "London"
}
} সাধারণ TOML ত্রুটি এবং কীভাবে ঠিক করবেন
TOML-এর কিছু জায়গায় YAML বা JSON-এর চেয়ে কঠোর নিয়ম রয়েছে। নিচের প্যাটার্নগুলো বেশিরভাগ পার্সার ব্যর্থতা কভার করে।
- উদ্ধৃতিহীন স্ট্রিং। `name = Ada` অবৈধ — খালি মান কী/বুলিয়ান/সংখ্যা হিসাবে ব্যাখ্যা করা হয়, স্ট্রিং নয়। ডবল উদ্ধৃতি ব্যবহার করুন: `name = "Ada"`।
- মিশ্র-প্রকার অ্যারে (TOML 0.x)। TOML 0.5 অ্যারেতে মিশ্র প্রকার নিষিদ্ধ করেছিল; TOML 1.0 এদের অনুমতি দেয়। @iarna/toml 1.0 অনুসরণ করে, তাই `[1, "two"]` এখানে বৈধ। যদি আপনার TOML 0.5 টুলিংয়ের মাধ্যমে রাউন্ড-ট্রিপ করতে হয়, অ্যারে একসঙ্গে রাখুন।
- টেবিল পুনর্নির্ধারণ। `[a]` দুবার সংজ্ঞায়িত করা ত্রুটি। প্রতিটি টেবিল হেডার সর্বোচ্চ একবার দেখা উচিত। কী-গুলিকে একটি একক `[a]` ব্লকে মার্জ করুন।
- টাইমজোন ছাড়া ডেটটাইম। `d = 2026-04-26T12:00:00` (Z বা অফসেট ছাড়া) "স্থানীয় ডেটটাইম" — এটি পার্স হয়, কিন্তু JSON-এ স্থানীয়তার ধারণা নেই। আউটপুট ওয়াল-ক্লক সময়ের সাথে একই স্ট্রিং, UTC মুহূর্ত নয়। UTC-এর জন্য `Z` যোগ করুন: `d = 2026-04-26T12:00:00Z`।
- ট্রিপল-উদ্ধৃতি এস্কেপ বিভ্রান্তি। TOML বেসিক বহু-লাইন স্ট্রিং `"""..."""` ব্যবহার করে এবং এস্কেপ প্রক্রিয়া করে; আক্ষরিক বহু-লাইন স্ট্রিং `\'\'\'...\'\'\'` ব্যবহার করে এবং করে না। এস্কেপ নিয়ম মিশ্রিত করা সবচেয়ে সাধারণ বহু-লাইন স্ট্রিং ত্রুটি।
- ইনলাইন টেবিল সম্প্রসারণ। ইনলাইন টেবিল `point = {x=1, y=2}` বন্ধ এবং স্ব-অন্তর্ভুক্ত — আপনি পরে `[point.z]` বা `point.z = 3` লিখতে পারবেন না। প্রসারিত করতে, এর পরিবর্তে স্ট্যান্ডার্ড `[point]` ব্লক সিনট্যাক্স ব্যবহার করুন।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
JSON-এ ডেটটাইম কীভাবে উপস্থাপন করা হয়?
JSON-এর কোনো নেটিভ ডেটটাইম প্রকার নেই, তাই মান ISO 8601 স্ট্রিং হয়ে যায়। অফসেট ডেটটাইম (`2026-04-26T12:00:00Z`) এবং স্থানীয় ডেটটাইম (`2026-04-26T12:00:00`) উভয়ই আক্ষরিকভাবে স্ট্রিংিফাই হয় — কিন্তু JSON-এ শুধুমাত্র অফসেট রূপ অস্পষ্ট নয়।
ইন্টিজার আন্ডারস্কোর কি সংরক্ষিত হয়?
না — TOML পঠনযোগ্যতার সহায়তা হিসাবে `1_000_000` অনুমতি দেয়; পার্সার আন্ডারস্কোর ফেলে দেয় এবং JSON মান `1000000` হয়। গ্রুপিং বিশুদ্ধভাবে TOML সোর্স-টেক্সট বৈশিষ্ট্য।
TOML মন্তব্যের কী হয়?
সেগুলো ফেলে দেওয়া হয়। TOML মন্তব্য `#` দিয়ে শুরু হয়; JSON-এ মন্তব্য সিনট্যাক্স নেই, তাই পার্সার সেগুলো বাতিল করে। যদি আপনাকে সেগুলো সংরক্ষণ করতে হয়, আপনাকে একটি ভিন্ন মধ্যবর্তী ফরম্যাট লাগবে।
টেবিলের অ্যারে কি সমর্থিত?
হ্যাঁ। একাধিকবার পুনরাবৃত্ত `[[products]]` ব্লক `products` কী-এর অধীনে JSON অ্যারেতে পরিণত হয়। প্রতিটি `[[products]]` হেডার একটি নতুন অ্যারে এন্ট্রি প্রবর্তন করে; পরবর্তী কী-মান লাইন সেই এন্ট্রি পূরণ করে।
আমি কি সত্যিই বড় TOML ফাইল রূপান্তর করতে পারি?
টেক্সট এরিয়া ধীর হওয়ার আগে প্রায় 30 MB পর্যন্ত। অত্যন্ত বড় TOML ফাইল বিরল — বেশিরভাগ কনফিগ ফাইল 1 MB-এর অনেক নিচে।
আমার TOML কি আপলোড হয়?
না। সব আপনার ব্রাউজারে চলে — আপনার ডেটা এই পেজের JavaScript দ্বারা পার্স হয় এবং কখনো কোনো সার্ভারে পাঠানো হয় না।