JSON ফরম্যাটার ও ভ্যালিডেটর

JSON পেস্ট করে সুন্দরভাবে সাজান, মিনিফাই করুন, অথবা ঠিক কোথায় ভুল আছে খুঁজে বের করুন। সবকিছু আপনার ব্রাউজারে চলে, তাই কিছুই আপলোড হয় না।

JSON ইনপুট

ইন্ডেন্টেশন
আপনার ডিভাইসেই যাচাই হয়। আপনার JSON কখনো আপলোড হয় না।

আউটপুট

বৈধ JSON
আকার
—
কি
—
নেস্টিংয়ের গভীরতা
—

JSON ফরম্যাটার কীভাবে ব্যবহার করবেন

এই JSON ফরম্যাটার পেস্ট করার সঙ্গে সঙ্গে আপনার JSON যাচাই করে সুন্দরভাবে সাজিয়ে দেখায়, তাই কিছু ইনস্টল না করেই API রেসপন্স পড়তে, কনফিগ ফাইল ঠিক করতে বা টেস্ট ডেটা গুছিয়ে নিতে পারেন।

  1. ইনপুট বক্সে JSON পেস্ট করুন, অথবা চেষ্টা করে দেখতে নমুনা লোড করুন চাপুন।
  2. ইন্ডেন্টেশন বেছে নিন: 2 স্পেস (JavaScript প্রজেক্টে প্রচলিত), 4 স্পেস (Python ও Java-তে প্রচলিত) অথবা ট্যাব।
  3. পড়ার উপযোগী আউটপুটের জন্য ফরম্যাট আর সবচেয়ে ছোট লেখার জন্য মিনিফাই বেছে নিন।
  4. কপি চাপুন, অথবা ফলাফল ফাইল হিসেবে সেভ করতে .json ডাউনলোড চাপুন।

JSON ভাঙা থাকলে আউটপুট বক্সের জায়গায় একটি ত্রুটি বার্তা আসে, যাতে লাইন ও কলাম নম্বর এবং ঠিক জায়গার নিচে ক্যারেট (^) দেওয়া একটি ছোট অংশ দেখানো হয়।

JSON-এর সাধারণ ত্রুটি ও সমাধান

JSON দেখতে JavaScript-এর মতো, কিন্তু এর নিয়ম অনেক কড়া। বেশিরভাগ "invalid JSON" ত্রুটির কারণ এই ভুলগুলো:

অবৈধবৈধকারণ
{'name': 'Ana'}{"name": "Ana"}স্ট্রিং ও কি-তে ডাবল কোট লাগে।
{name: "Ana"}{"name": "Ana"}কি অবশ্যই কোটের মধ্যে থাকতে হবে।
[1, 2, 3,][1, 2, 3]শেষ আইটেমের পরে কমা নয়।
{"a": 1 "b": 2}{"a": 1, "b": 2}আইটেমগুলো কমা দিয়ে আলাদা হয়।
{"n": 007}{"n": 7}সংখ্যার শুরুতে শূন্য চলবে না।
{"ok": True}{"ok": true}true, false ও null ছোট হাতের অক্ষরে লিখতে হয়।
// comment(মুছে দিন)কমেন্ট JSON-এর অংশ নয়।

ত্রুটি কোনো লাইন দেখালে আসল ভুলটি প্রায়ই তার ঠিক আগে থাকে। যেমন, কমা বাদ পড়লে তা ধরা পড়ে কেবল তখন, যখন পার্সার পরের মানে পৌঁছায়।

ফরম্যাটার কীভাবে কাজ করে

টুলটি JSON মান (RFC 8259) মেনে আপনার লেখা অক্ষর ধরে ধরে পড়ে। পড়তে পড়তে ফরম্যাট করা আউটপুট তৈরি করে এবং প্রথম যে নিয়ম ভাঙা হয়েছে সেখানে থেমে যায়। এটি কখনো মানগুলোকে JavaScript সংখ্যায় রূপান্তর করে না, তাই 64-বিট ID বা লম্বা দশমিকের মতো খুব বড় সংখ্যাও ঠিক যেমন লিখেছেন তেমনই থাকে, আর \u00e9-এর মতো এস্কেপ সিকোয়েন্স অপরিবর্তিত থাকে।

আউটপুটের নিচের সংখ্যাগুলো দেখায় ফলাফলের আকার, সব অবজেক্ট মিলিয়ে কি-এর সংখ্যা এবং নেস্টিংয়ের সবচেয়ে গভীর স্তর। গভীর নেস্টিং যন্ত্রের জন্য সমস্যা নয়, তবে এটি ইঙ্গিত দিতে পারে যে কাঠামোটি প্রয়োজনের চেয়ে জটিল।

ফরম্যাট নাকি মিনিফাই?

একই অবজেক্ট দুই ধরনে:

{"id":7,"tags":["a","b"]}

{
  "id": 7,
  "tags": [
    "a",
    "b"
  ]
}

ওয়েবে gzip বা Brotli কম্প্রেশন এমনিতেই হোয়াইটস্পেস ভালোভাবে ছোট করে, তাই মিনিফাই করা মূলত স্টোরেজ সীমা ও রিকোয়েস্টের আকারের জন্য জরুরি, ডাউনলোডের গতির জন্য ততটা নয়।

গোপনীয়তা ও সীমাবদ্ধতা

আপনার JSON শুধু আপনার ব্রাউজার ট্যাবেই প্রসেস হয়; কিছুই আপলোড বা লগ করা হয় না। কয়েক মেগাবাইটের ফাইলও ভালোভাবে চলে, যদিও ধীরগতির ফোনে খুব বড় ইনপুট ফরম্যাট হতে একটু সময় নেয়। তবুও প্রয়োজন না হলে কোনো ওয়েবসাইটে, এটিসহ, আসল পাসওয়ার্ড বা প্রাইভেট কি পেস্ট করবেন না।

সচরাচর জিজ্ঞাসিত প্রশ্ন

অনলাইনে JSON কীভাবে ফরম্যাট করব?

ইনপুট বক্সে আপনার JSON পেস্ট করুন। সঙ্গে সঙ্গে এটি যাচাই হয়ে 2 স্পেসে সুন্দরভাবে সাজানো হয়; চাইলে 4 স্পেস বা ট্যাবে বদলান, তারপর ফলাফল কপি করুন বা .json ফাইল হিসেবে ডাউনলোড করুন।

আমার JSON অবৈধ কেন?

সবচেয়ে সাধারণ কারণ হলো ডাবল কোটের বদলে সিঙ্গেল কোট, শেষ আইটেমের পরে বাড়তি কমা, আইটেমের মাঝে কমা না থাকা, কমেন্ট এবং কোট ছাড়া কি। ত্রুটি বার্তায় প্রথম সমস্যার লাইন ও কলাম দেখানো হয়।

JSON মিনিফাই মানে কী?

মিনিফাই করলে স্ট্রিংয়ের ভেতরে নেই এমন সব স্পেস ও লাইন ব্রেক মুছে যায়। ডেটা হুবহু একই থাকে কিন্তু ফাইল ছোট হয়, যা API, কনফিগ মান ও স্টোরেজের জন্য কাজে লাগে।

JSON-এ কি কমেন্ট বা শেষে বাড়তি কমা চলে?

না। স্ট্যান্ডার্ড JSON (RFC 8259) কোনোটিই অনুমোদন করে না। কিছু টুল JSONC বা JSON5 গ্রহণ করে, যেগুলোতে চলে, কিন্তু ব্রাউজার ও বেশিরভাগ API-এর মতো কড়া পার্সার সেগুলো বাতিল করবে।

আমার JSON কি সার্ভারে পাঠানো হয়?

না। পার্সিং ও ফরম্যাটিং পুরোটাই আপনার ব্রাউজারে JavaScript দিয়ে হয়। আপনার ডেটা কখনো ডিভাইসের বাইরে যায় না, তাই API কি বা গ্রাহকের ডেটার জন্যও নিরাপদ, যদিও গোপন তথ্য শেয়ার করা এড়িয়ে চলাই ভালো।