JSON ফরম্যাটার ও যাচাইকারী
JSONJSON ফরম্যাট, যাচাই ও সংক্ষিপ্ত করুন। সারি ও কলাম সহ সুনির্দিষ্ট ত্রুটির অবস্থান, এবং সিনট্যাক্স হাইলাইটিং।
দূরবর্তী URL আনা হয় না; আপনার JSON সরাসরি পেস্ট করুন।
এই পৃষ্ঠায়
JSON ফরম্যাটার কী?#
একটি JSON ফরম্যাটার ঘন সন্নিবিষ্ট এক সারির JSON — যেমন সার্ভার লগে এক সারিতে রাখে বা বান্ডলার মিনিফাই করে যা ছড়ায় — তা নিয়ে ধারাবাহিক ইনডেন্টেশন সহ পুনরায় লেখে, যাতে মানুষ পড়তে পারে। সামান্য শোনালেও, একটি অনুরোধ ব্যর্থ হলে, কনফিগ ফাইলে টাইপো থাকলে, বা দুটি পেলোড একই দেখা গেলেও ভিন্ন আচরণ করলে — এমন সব ক্ষেত্রে সাধারণত প্রথম যে টুলটি আপনি খুঁজবেন তা হলো ফরম্যাটার।
এই পৃষ্ঠাটি একই স্থানে তিনটি সম্পর্কিত কাজ করে। এটি প্রেটি-প্রিন্ট করে (ইনডেন্টেশন ও লাইন বিরতি যোগ করে), যাচাই করে (টেক্সটটি আদৌ বৈধ JSON কি না তা জানায়), এবং সংক্ষিপ্ত করে (সবচেয়ে ছোট পেলোডের জন্য প্রতিটি হোয়াইটস্পেস বাইট বাদ দেয়)। যাচাই ব্যর্থ হলে স্ট্যাটাস বার শুধু “ত্রুটি” বলে না — এটি সুনির্দিষ্ট সারি ও কলাম জানায়, যা প্রায়শই পাঁচ সেকেন্ডের সমাধান আর বিশ মিনিট তাকিয়ে থাকার পার্থক্য নির্ধারণ করে।
ব্যবহারবিধি#
- বাঁদিকের ইনপুট পেইনে আপনার JSON পেস্ট করুন। শুধু আচরণ দেখতে চাইলে নমুনা ক্লিক করে একটি ছোট উদাহরণ লোড করতে পারেন।
- টুলবারে একটি ইনডেন্ট শৈলী বেছে নিন: ২টি স্পেস, ৪টি স্পেস, বা একটি ট্যাব। দুই স্পেস সবচেয়ে প্রচলিত রীতি; যদি এমন একটি এডিটরে পেস্ট করতে চান যা ইতিমধ্যেই ট্যাব ব্যবহার করে, তখন ট্যাব সুবিধাজনক।
- আর কী করতে চান তা বেছে নিন:
- ফরম্যাট — আপনার নির্বাচিত ইনডেন্ট দিয়ে প্রেটি-প্রিন্ট করে।
- সংক্ষিপ্ত — কোনো স্পেস ছাড়াই এক সারিতে গুটিয়ে ফেলে। অনুরোধের বডিতে পেস্ট করার আগে আদর্শ।
- যাচাই — টেক্সট না বদলেই শুধু সিনট্যাক্স যাচাই করে; শুধু হ্যাঁ/না উত্তর দরকার হলে উপযোগী।
- অবজেক্টের বৈশিষ্ট্যগুলো বর্ণানুক্রমিকভাবে সাজাতে কী সাজান টিক দিন। এটি একটি API-এর ভিন্ন ভিন্ন ভার্সনের প্রতিক্রিয়া তুলনা করার সময় অবিশ্বাস্যভাবে কাজে লাগে: কীগুলো সাজানো থাকলে অবশিষ্ট পার্থক্যগুলোই কেবল সেইসব থাকে যা আসলে গুরুত্বপূর্ণ।
- একটি শিথিল, মানববান্ধব রূপের জন্য (শেষ আইটেমের পরে একটি কমা) ট্রেইলিং কমা অনুমোদন টিক দিন। মনে রাখবেন কঠোর পার্সার এটি প্রত্যাখ্যান করবে — শুধুমাত্র স্থানীয়ভাবে পড়ার সময় চালু করুন।
- আউটপুট পেইনে ফলাফল পড়ুন। নিচের স্ট্যাটাস বার হয়
বৈধ JSONঅথবা সুনির্দিষ্ট ত্রুটির অবস্থান (সারি:কলাম — বার্তা) দেখায়। আউটপুট নিতে কপি ব্যবহার করুন।
মূল বৈশিষ্ট্য#
- কঠোর নেটিভ পার্সার। ব্রাউজারের নিজস্ব
JSONইমপ্লিমেন্টেশনের উপর নির্মিত, তাই এখানে যা পাস করে তা রানটাইমেও পাস করে। কোনো কাস্টম উপভাষা নেই, কোনো অপ্রত্যাশিত চমক নেই। - সুনির্দিষ্ট ত্রুটির অবস্থান। একটি ট্রেইলিং কমা, একটি কোট-বিহীন কী, একটি অনুপস্থিত বন্ধনী — প্রতিটি তার সারি ও কলাম সহ রিপোর্ট করা হয়, শুধু “পার্স ত্রুটি” নয়।
- তিনটি ইনডেন্টেশন শৈলী। ২ স্পেস, ৪ স্পেস, ট্যাব।
- ঐচ্ছিক কী সাজানো ও ট্রেইলিং কমা। পুনরায় পেস্ট না করেই প্রতিটি কাজের জন্য টগল করুন।
- ১০০% ক্লায়েন্ট-সাইড। আপনি যা পেস্ট করেন তা আপনার ব্রাউজারের এই পৃষ্ঠায় প্রক্রিয়াজাত হয়। এটি কখনো আপলোড হয় না — এমন কোনো ব্যাকএন্ডই নেই যেখানে আপলোড করা যাবে।
- লাইভ অক্ষর গণনা। উভয় পেইন তাদের আকার দেখায়, যা একটি পেলোড থেকে বাইট কাটার চেষ্টার সময় সাহায্য করে।
ব্যবহারিক উদাহরণ#
কল্পনা করুন একটি কনফিগ এন্ডপয়েন্ট এই মিনিফাই করা দলাটি ফেরত দিল এবং আপনাকে একটি ভুল নামের কী খুঁজে বের করতে হবে:
ইনপুট (মিনিফাইড, এক সারি):
{"server":"api.example.com","port":443,"retry":{"count":3,"backoffMs":[100,400,1600]},"tags":["prod","primary"]}
ফরম্যাট ক্লিক করুন, ২টি স্পেস ইনডেন্ট ও কী সাজান চালু রেখে:
{
"port": 443,
"retry": {
"backoffMs": [
100,
400,
1600
],
"count": 3
},
"server": "api.example.com",
"tags": [
"prod",
"primary"
]
}
কীগুলো সাজানো হওয়ায় backoffMs এখন count-এর পাশে অবস্থান করছে, এবং এক সারির সংস্করণে অদৃশ্য থাকা সূচকীয় রূপটি (100, 400, 1600) আপনি সঙ্গে সঙ্গে দেখতে পাচ্ছেন। লক্ষ্য করুন tags এখনও ["prod","primary"] — কী সাজানো শুধুমাত্র অবজেক্টের বৈশিষ্ট্য পুনর্বিন্যাস করে; এটি কখনো অ্যারের উপাদান স্পর্শ করে না, তাই আপনি যে ক্রমে রেখেছিলেন ঠিক সেই ক্রমেই ফিরে পাবেন।
প্রশ্নোত্তর#
এটি কি আমার ডেটা আপলোড করে?#
না। পার্সিং এই পৃষ্ঠার ভেতরে ব্রাউজারের অন্তর্নির্মিত JSON API দিয়ে করা হয়। এখানে কোনো সার্ভার এন্ডপয়েন্ট বা নেটওয়ার্ক অনুরোধ নেই — আপনার ইনপুট আপনার ডিভাইসেই থাকে।
স্ট্যাটাস বার বলছে আমার JSON অবৈধ, কিন্তু ঠিক দেখাচ্ছে। এখন কী করব?#
রিপোর্ট করা সারি ও কলাম পরীক্ষা করুন। চারটি প্রধান সন্দেহভাজন হলো: ক্লোজিং } বা ]-এর আগে একটি ট্রেইলিং কমা, স্ট্রিং চারপাশে একক উদ্ধৃতি (JSON-এ দ্বি-উদ্ধৃতি আবশ্যক), একটি কোট-বিহীন অবজেক্ট কী, এবং অন্য এডিটর থেকে পেস্ট করা একটি আক্ষরিক ট্যাব বা কন্ট্রোল অক্ষর। কলাম নম্বর নির্দিষ্ট ত্রুটিস্থলকে নির্দেশ করে।
“কী সাজান” আসলে কী করে?#
এটি প্রতিটি অবজেক্টের বৈশিষ্ট্য বর্ণানুক্রমিক ক্রমে (কেস-সংবেদনশীল ASCII ক্রমে) পুনরায় নির্গত করে। অ্যারে তাদের মূল ক্রমে অপরিবর্তিত থাকে — কী সাজানো কখনো অ্যারে উপাদান পুনর্বিন্যাস করে না, কারণ অ্যারের ক্রম অর্থগতভাবে তাৎপর্যপূর্ণ।
এটি কি অনেক বড় ফাইল সামলাতে পারে?#
হ্যাঁ, ব্রাউজারের মেমরি সীমা পর্যন্ত। কয়েক মেগাবাইটের বেশি ফাইলের ক্ষেত্রে ফরম্যাট করতে একটু সময় লাগতে পারে; স্ট্যাটাস বার অক্ষর সংখ্যা দেখায় যাতে আপনি আকার অনুমান করতে পারেন। এই পৃষ্ঠাটি স্ট্রিম করে না, তাই অত্যন্ত বড় ইনপুট (শত শত MB) ট্যাবে চাপ ফেলবে।