মূল বিষয়বস্তুতে যান
CuteJSON
↑↓ নেভিগেট Enter নির্বাচন Esc বন্ধ

JSON কিভাবে YAML-এ রূপান্তর করবেন ক্লাসিক 01234 বাগ ছাড়াই

প্রকাশিত 2 মিনিট পড়ুন Akash Kinkar Pandey দ্বারা

YAML JSON-এর চেয়ে অনেক বড় ভাষা। প্রতিটি JSON নথি বৈধ YAML, কিন্তু উল্টোটা সত্য নয়, যার মানে একটি JSON to YAML কনভার্টার সম্পূর্ণ সঠিক হতে পারে যখন একটি YAML to JSON কনভার্টারকে YAML-এর সেই অংশগুলি প্রত্যাখ্যান করতে হয় যেগুলি প্রকাশ করার JSON-এর কোনো উপায় নেই।

JSON to YAML কনভার্টার ব্যবহার করা

একটি দিক এবং ইন্ডেন্ট প্রস্থ বেছে নিন, তারপর Convert চাপুন। YAML লিখে, একটি ম্যাপিং এক লাইনে একটি কী হয়ে যায়, একটি অ্যারে আইটম প্রতি তার ড্যাশ পুনরাবৃত্তি করে, এবং একটি null একটি মান ছাড়াই কী হয়ে যায়।

বাগ যার বিরুদ্ধে এই টুল নির্দিষ্টভাবে সুরক্ষিত করে

একটি সাধারণ YAML স্কেলার যা সংখ্যা, বুলিয়ান, বা YAML ইন্ডিকেটরের মতো দেখে, সেটি সেই টাইপ হিসাবে ভুলভাবে পড়া হয় যখন কিছু ফাইলটি পুনরায় পার্স করে। 01234 পিনকোড ক্লাসিক কেস: কোট ছাড়াই লেখা, একটি YAML পার্সার এটিকে সংখ্যা 1234 হিসাবে পড়ে এবং লিডিং জিরো চিরতরে হারিয়ে যায়। একই সমস্যা "true" বা "null" পড়ে এমন স্ট্রিংকে লাগে।

রূপান্তর করে

{"zip":"01234","active":"true","note":null,"id":12345678901234567890}

তৈরি হয়:

zip: '01234'
active: 'true'
note: null
id: 12345678901234567890

উভয় স্ট্রিং মান নির্দিষ্টভাবে কোটেড কারণ কোট ছাড়াই রেখে দিলে ফিরে এলে তাদের টাইপ বদলে যাবে। প্রকৃত null কোট ছাড়াই লেখা হয়, কারণ সেটি কোট ছাড়ার সঠিক বানান। কুড়ি অংকের id অক্ষুণ্ণ থাকে, কারণ এটি JSON.parse দ্বারা পার্স করা মানের পরিবর্তে টোকেন স্ট্রিম দিয়ে যায়।

রিডার কী গ্রহণ করে এবং কী প্রত্যাখ্যান করে

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

রাউন্ড ট্রিপিং

উপরের উদাহরণ YAML থেকে ফিরে রূপান্তর করলে মূল নথি একদম ফিরে আসে: "01234" এবং "true" স্ট্রিং হিসাবে, null null হিসাবে, এবং সম্পূর্ণ কুড়ি অংকের পূর্ণসংখ্যা। সেই রাউন্ড ট্রিপ প্রকৃত পরীক্ষা যে কনভার্টারের কোটিং নিয়ম সঠিক, কারণ ভুল নিয়ম সাধারণত তখনই দেখায় যখন আপনি ফিরে রূপান্তর করে তুলনা করেন।

সব পোস্টে ফিরুন