কনফিগারযোগ্য ইন্ডেন্টেশন ও প্রিটি-প্রিন্ট টগলসহ JSON ডকুমেন্ট TOML-এ রূপান্তর করুন।
কনফিগারযোগ্য ইন্ডেন্টেশন ও প্রিটি-প্রিন্ট টগলসহ JSON ডকুমেন্ট TOML-এ রূপান্তর করুন। কনফিগারযোগ্য ইন্ডেন্টেশন ও প্রিটি-প্রিন্ট টগলসহ JSON ডকুমেন্ট TOML-এ রূপান্তর করুন।
আউটপুট
পটভূমি
JSON থেকে TOML-এ রূপান্তর কেন
JSON ওয়্যারে সর্বত্র ব্যবহৃত হয়, কিন্তু TOML হলো সেই ফরম্যাট যা আধুনিক
কনফিগ ফাইলগুলো আসলে ব্যবহার করে (Cargo, pyproject.toml, GitHub Actions,
uv এবং আরও অনেক)। API থেকে একটি JSON টুকরো কনফিগ ফাইলে কপি করলে,
আপনাকে সাধারণত সিনট্যাক্স হাতে অনুবাদ করতে হয়:
ব্রেস হয় সেকশন, ব্র্যাকেট হয় অ্যারে, কমা হয় নিউলাইন, আর কোটেড কী হয় বেয়ার কী।
একটি কনভার্টার সেই অনুবাদ স্বয়ংক্রিয় করে, তাই আপনি API রেসপন্স
পেস্ট করে TOML আউটপুট কপি করতে পারবেন এবং কাজ শেষ।
জানার মতো বৈশিষ্ট্য
বেশিরভাগ কনভার্টার ডিফল্টভাবে JSON অবজেক্টের ক্রম সংরক্ষণ করে। TOML
আপনাকে সেকশন পুনর্বিন্যাস করতে দেয়, তাই রানের মধ্যে স্থিতিশীল ডিফ চাইলে
"কী সাজানো" বিকল্প সাহায্য করে। ইন্ডেন্টেশন নিয়ন্ত্রণ আপনাকে
প্রকল্পের স্টাইল গাইডের সাথে মেলাতে দেয় (দুই বা চার স্পেস)।
TOML-এ টেবিলের অ্যারের জন্য, কনভার্টার ইনলাইন ফর্ম key = [ ... ]
নির্গত করে যখন JSON অ্যারে একটি একক অভিন্ন অবজেক্ট ধারণ করে, এবং একটি হেডার ফর্ম
[[section]] নির্গত করে মিশ্র ধরনের তালিকা বা একই স্কিমার পুনরাবৃত্তির জন্য। এটি
একমাত্র ক্ষেত্র যেখানে রূপান্তর সম্পূর্ণ যান্ত্রিক নয়।
কাজের টিপস
TOML কমিট করার আগে দুবার পরীক্ষা করুন যে JSON-এ ব্যবহৃত কীগুলো
বৈধ TOML বেয়ার কী (স্পেস নেই, অগ্রণী ডিজিট নেই,
শুরুতে ড্যাশ নেই)। কনভার্টার নামগুলো হুবহু রাখে;
এটি সেগুলোর নাম পরিবর্তন করে না। রূপান্তরের পরে আপনার এডিটরে পেস্ট করুন
এবং প্রকল্পের লিন্টার চালান যাতে কনভার্টারের অজানা যেকোনো
স্টাইল সমস্যা ধরা পড়ে।
ব্যবহারিক উদাহরণ
কল্পনা করুন আপনার প্রকল্পের ফিচার ফ্ল্যাগ তালিকাভুক্ত একটি API রেসপন্স আছে এবং আপনি সেগুলো সরাসরি একটি pyproject.toml ব্লকে পেস্ট করতে চান। JSON দেখতে { "name": "beetools", "features": ["json", "toml"] } এর মতো। রূপান্তরের পরে TOML পড়ে name = "beetools" এবং features = ["json", "toml"], এবং আপনি আর কোনো ঝামেলা ছাড়াই [tool.beetools]-এ ঢোকাতে পারেন। টেবিলের অ্যারে ([[items]]) আসে এমন JSON অ্যারে থেকে যাদের উপাদান অভিন্ন কীযুক্ত অবজেক্ট; কনভার্টার সমগোত্রীয় আকৃতি শনাক্ত করে বহু-লাইন ফর্ম স্বয়ংক্রিয়ভাবে নির্গত করে। এর বদলে সমতল আউটপুট দেখলে, ইনপুটে মিশ্র ধরন ছিল -- উৎসটি ম্যানুয়ালি ভাগ করে পুনরায় চালান।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
কনভার্টার কি নেস্টেড অবজেক্ট সমর্থন করে?
হ্যাঁ। নেস্টেড JSON অবজেক্ট নেস্টেড TOML টেবিল হয়। কনভার্টার গভীরতা সংরক্ষণ করে, এবং খুব গভীর নেস্টিং `[[section.sub]]` হেডারে প্রসারিত হয়।
প্রিমিটিভের অ্যারের কী হবে?
প্রিমিটিভের অ্যারে (সংখ্যা, স্ট্রিং, বুলিয়ান) TOML ইনলাইন অ্যারে হয়। মিশ্র ধরনের অ্যারে অন্তর্নিহিত পার্সার প্রত্যাখ্যান করে কারণ TOML-এর জন্য অ্যারে সমগোত্রীয় হতে হয়।
JSON null মান কি সংরক্ষিত হয়?
TOML-এ কোনো null লিটারেল নেই। কনভার্টার `null` মান বাদ দেয় এবং একটি সতর্কতা নির্গত করে; অনুপস্থিতি লিপিবদ্ধ করতে হলে রূপান্তরের আগে খালি স্ট্রিং বা সেন্টিনেল মান ব্যবহার করুন।
আউটপুটে মূল JSON-এর কমেন্ট অনুপস্থিত কেন?
JSON কমেন্ট সমর্থন করে না। TOML-এ কমেন্ট দরকার হলে রূপান্তরের পরে হাতে যোগ করুন।
কনভার্টার কি কী-এর ক্রম পরিবর্তন করবে?
না। ডিফল্টভাবে কী JSON ক্রমে নির্গত হয়। ডিফিংয়ের জন্য স্থিতিশীল, বর্ণানুক্রমিক বিন্যাস চাইলে সাজানো বিকল্প সক্রিয় করুন।
আমার JSON কি কোথাও পাঠানো হয়?
না। নেটিভ JSON.parse এবং বান্ডেল করা smol-toml লাইব্রেরি ব্যবহার করে রূপান্তর সম্পূর্ণ আপনার ব্রাউজারেই ঘটে।