JSON ফরম্যাটিং কী?
JSON (JavaScript Object Notation) হলো RFC 8259 ও ECMA-404 দ্বারা সংজ্ঞায়িত একটি হালকা, টেক্সট-ভিত্তিক ডেটা-বিনিময় ফরম্যাট। একটি JSON ডকুমেন্ট ছয়টি মান টাইপের একটি ট্রি — object, array, string, number, boolean, এবং null। ফরম্যাটিং হোয়াইটস্পেস যোগ করে যাতে মানুষ সেই ট্রি পড়তে পারে; মিনিফাই করলে হোয়াইটস্পেস সরানো হয় যাতে মেশিন এটি তারের উপর দ্রুত সরাতে পারে।
JSON ফরম্যাটিং কীভাবে কাজ করে?
আপনার ইনপুট বিল্ট-ইন JSON.parse ও JSON.stringify ফাংশন ব্যবহার করে সম্পূর্ণ আপনার ব্রাউজারে প্রক্রিয়া করা হয়। উচ্চ-স্তরের ধাপগুলো হলো:
- আপনার ইনপুট textarea থেকে পড়া হয় এবং প্রধান ও পিছনের হোয়াইটস্পেস ছাড়া হয়।
- ব্রাউজার
JSON.parseদিয়ে এটি পার্স করে। ইনপুট বৈধ JSON না হলে পার্সার একটিSyntaxErrorছুড়ে দেয় যা ধরা হয় এবং এটি যেখানে থামে সেই লাইন ও কলাম সহ সামনে আনা হয়। - ইনপুট বৈধ হলে, পার্স করা মান
JSON.stringify(value, null, indent)দিয়ে পুনরায় নির্গত হয়, যেখানেindentআপনার নির্বাচিত স্পেসিং (২ স্পেস, ৪ স্পেস বা ট্যাব অক্ষর)। - মিনিফিকেশনের জন্য,
JSON.stringify(value)ইন্ডেন্ট আর্গুমেন্ট ছাড়া কল করা হয়, একই মানের সবচেয়ে ছোট বৈধ ফর্ম তৈরি করে কোনো অপ্রয়োজনীয় হোয়াইটস্পেস ছাড়া। - আউটপুট রিডঅনলি textarea-তে লেখা হয়, এবং একটি স্ট্যাটাস প্যানেল হয় বৈধ JSON বা সঠিক পার্স ত্রুটি রিপোর্ট করে।
এই টুল দিয়ে JSON কেন ফরম্যাট করবেন?
- গোপনীয়তা: প্রতিটি পার্স, ফরম্যাট ও মিনিফাই পাস আপনার ব্রাউজারে হয়। JSON কখনও আমাদের সার্ভারে পৌঁছায় না।
- তাৎক্ষণিক ভ্যালিডেশন: ভুল জায়গার কমা, উদ্ধৃত না করা কী, একক কোট ও ট্রেইলিং কমা একটি সঠিক লাইন ও কলাম হিন্ট সহ রিপোর্ট হয় যাতে সরাসরি বাগে যাওয়া যায়।
- রিভিউ-রেডি আউটপুট: সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন সহ প্রেটি-প্রিন্ট করা JSON পরিষ্কার কোড-রিভিউ ডিফ ও পাঠযোগ্য কনফিগারেশন ফাইল তৈরি করে।
- প্রোডাকশন-রেডি মিনিফিকেশন: অপ্রয়োজনীয় হোয়াইটস্পেস সরানো API পেলোড, ম্যানিফেস্ট ফাইল ও এমবেডেড ফিক্সচার শিপ করার আগে সংকুচিত করে।
JSON ফরম্যাটিংয়ের সাধারণ ব্যবহার কী কী?
ওয়েব ডেভেলপমেন্ট ও টুলিং জুড়ে JSON পড়া ও লেখা দেখা যায়:
- API ডিবাগিং:
curlবা নেটওয়ার্ক প্যানেল থেকে কাঁচা রেসপন্স পেস্ট করা আকৃতি নিশ্চিত করতে, একটি কীতে টাইপো খুঁজতে বা একটি মিসিং ক্লোজিং ব্রেস খুঁজে পেতে। - কনফিগ পরিষ্কার করা: হাতে সম্পাদিত
package.json,tsconfig.jsonবা CI ম্যানিফেস্ট পুনরায়-ইন্ডেন্ট করা যাতে রিভিউ ও লিন্টার পাস করে। - লগ পড়া: কম্প্যাক্ট
application/jsonলগ লাইন পুনরায়-ফরম্যাট করা যাতে প্রতিটি ফিল্ড পরবর্তীর নিচে লাইন আপ হয়, তারপর টিকেটে পেস্ট করার আগে আবার মিনিফাই করা।
JSON ফরম্যাটিংয়ের উদাহরণ কেমন দেখায়?
{"id":42,"name":"Ada Lovelace","email":"ada@example.com","roles":["admin","engineer"]} পেস্ট করে ২-স্পেস ইন্ডেন্ট সহ FORMAT চাপলে এটি নয়টি লাইনে বিস্তৃত হয়, প্রতিটি অবজেক্ট ফিল্ড ও অ্যারে এন্ট্রি নিজস্ব লাইনে। ফরম্যাট করা টেক্সটে MINIFY চাপলে এটি আবার একই কম্প্যাক্ট স্ট্রিংয়ে বাইট-ফর-বাইট সংকুচিত হয়।
এই JSON ফরম্যাটার আপনার Node.js, Deno বা ব্রাউজার রানটাইম যে একই ইঞ্জিন ব্যবহার করে তা দিয়ে পার্স করে এবং এমন আউটপুট নির্গত করে যা আপনি সরাসরি কোড, কনফিগ বা লগে পেস্ট করতে পারেন।