JSON ফরম্যাটার এবং ভিউয়ার
JSON পেস্ট করুন এবং এটি এক জায়গায় সাজানো হয়ে যাবে। ডানদিকে কোনো ফিল্ডে ক্লিক করে এর পূর্ণ মান ও পাথ পর্যবেক্ষণ করুন; লাইন ও কলাম দিয়ে সিনট্যাক্স ত্রুটি সনাক্ত করা হয়। সবকিছু আপনার ব্রাউজারে স্থানীয়ভাবে চলে।
- ইন্ডেন্টেশন
- 2/4 স্পেস · ট্যাব
- অতিরিক্ত সুবিধা
- পর্যবেক্ষণ · সাজান · পরিসংখ্যান
- গোপনীয়তা
- কিছুই আপলোড করা হয় না
- ব্যবহার
- ফ্রি · সাইন-আপ নেই
এটি কেন গুরুত্বপূর্ণ
যারা প্রতিদিন JSON পড়ে তাদের জন্য তৈরি
API রেসপন্স, কনফিগ ফাইল, লগ পেলোড — কাঁচা JSON এক ঘন লাইন হিসেবে আসে। এটিকে পাঠযোগ্য করুন, ভাঙা কমাটি খুঁজুন, তারপর আপনার প্রয়োজন অনুযায়ী এটি ফিরিয়ে দিন।
বিউটিফাই ও মিনিফাই
এক ক্লিকে মানব-পাঠযোগ্য গাছ এবং কমপ্যাক্ট একক লাইনের মধ্যে সwitch করুন। আপনার কোডবেসের স্টাইলের সাথে মেলে 2 স্পেস, 4 স্পেস বা ট্যাব বেছে নিন।
লাইন এবং কলাম দ্বারা ত্রুটি নির্ণয় করা হয়েছে
অবৈধ JSON একটি রহস্যময় পার্সার মেসেজের পরিবর্তে সঠিক অবস্থান — L12 : C34 — রিপোর্ট করে, তাই আপনি সরাসরি অনুপস্থিত কমা বা ট্রেলিং কোটের দিকে যান।
রিকার্সিভ কী সোর্টিং
প্রতিটি গভীরতায় অবজেক্ট কীগুলিকে বর্ণানুক্রমিকভাবে সাজান, যেখানে অ্যারেগুলি তাদের ক্রম বজায় রাখে। কনফিগের ডিফিং এবং কমিট জুড়ে ফিক্সচার স্থিতিশীল করার জন্য আদর্শ।
এস্কেপ / আনএস্কেপ লিটারেল
JSON কে কোড বা env ফাইলে এম্বেড করার জন্য একটি এস্কেপ করা স্ট্রিং লিটারেলে রূপান্তর করুন, এবং পর্যবেক্ষণের জন্য একটি উদ্ধৃত লিটারেলকে কাঁচা JSON-তে আনর্যাপ করুন।
এটিকে সম্পূর্ণরূপে দেখার জন্য যেকোনো ক্ষেত্রে ক্লিক করুন
এডিটরের কোনো ফিল্ডে ক্লিক করুন এবং একটি সাইড প্যানেল খুলবে যেখানে এর সম্পূর্ণ মান, টাইপ এবং JSON পাথ থাকবে — নেস্টেড অবজেক্ট এবং অ্যারেও অন্তর্ভুক্ত, তাই আর কখনো চোখে বন্ধনী গণনা করতে হবে না।
সম্পূর্ণভাবে স্থানীয়ভাবে চলে
JSON কখনোই আপনার ব্রাউজার ছেড়ে যায় না, টুলটি অফলাইনে কাজ করে এবং ইনপুট ফাঁকা থাকা অবস্থায় কোনো অনুরোধ করা হয় না।
কিভাবে কাজ করে
ইন্ডেন্টেশন 2 স্পেস, 4 স্পেস এবং ট্যাবের মধ্যে স্যুইচ করুন। মেশিনে পাঠানোর সময় এটিকে একক লাইনে মিনিফাই করুন, স্থায়ী ক্রম প্রয়োজন হলে অবজেক্টের কীগুলো পুনরাবৃত্তি সাজান, অথবা সম্পূর্ণ পেলোডকে একটি স্ট্রিং লিটারেলে রূপান্তর করুন — এবং লগ লাইন থেকে কপি করা উদ্ধৃত লিটারেলটিকে আন-এস্কেপ করুন।
কোনো ফিল্ডে ক্লিক করে সাইড প্যানেলে এর সম্পূর্ণ মান পরীক্ষা করুন, এবং টাইপ করার সাথে সাথে কী, অ্যারে আইটেম এবং নেস্টিং গভীরতা আপডেট হয়। একই পৃষ্ঠায় বেশ কয়েকটি ডকুমেন্ট খোলা রাখুন এবং এক নজরে তুলনা করুন; প্রতিটির নিজস্ব এডিটর আছে। সবকিছু আপনার ব্রাউজারে স্থানীয়ভাবে চলে এবং কিছুই আপলোড করা হয় না।
আরও JSON টুল
উদ্দেশ্য অনুযায়ী বাছাই করা তৃতীয় পক্ষের টুল — এখানে আমরা সেগুলোর নকল করি না, তাই কোনো একটি প্রয়োজন হলে এখানে যান।
| টুল | উদ্দেশ্য | যা করে |
|---|---|---|
| JSON এডিটর অনলাইন | সম্পাদনা ও বৈধতা | লিঙ্ক করা টেক্সট ও ট্রি প্যান, ড্র্যাগ-অ্যান্ড-ড্রপ পুনর্গঠন, সাথে ডিফ, স্কিমা বৈধতা ও ক্যোয়ারি। |
| JSON ক্র্যাক | ভিজুয়ালাইজ | গভীর নেস্টিং বোঝা বা দ্রুত ডেমো তৈরির জন্য JSON কে ইন্টারেক্টিভ নোড গ্রাফে রূপান্তর করে। |
| JSON ভিজিও | ভিজুয়ালাইজ | হালকা UI সহ আরেকটি গ্রাফ ভিউয়ার — দুটির মধ্যে যেটা বেশি স্বাভাবিক লাগে সেটি বেছে নিন। |
| ডিফচেকার | তুলনা | দুটি টেক্সটকে পার্শ্বে পার্শ্বে বা একত্রিত দৃষ্টিতে তুলনা করুন এবং সরাসরি সন্নিবেশিত, মুছে ফেলা বা পরিবর্তিত লাইনে যান। |
| JSONPath | কোয়েরি | অনলাইনে JSONPath এক্সপ্রেশন চালান এবং পাথ অনুযায়ী আপনার প্রয়োজনীয় ফিল্ডগুলো সঠিকভাবে বের করুন। |
| JSONata | কোয়েরি ও রূপান্তর | JSON-এর জন্য একটি কোয়েরি ও রূপান্তর ভাষা, যেখানে অনলাইন প্লেগ্রাউন্ড এবং উদাহরণ রয়েছে। |
| quicktype | টাইপ জেনারেশন | JSON থেকে TypeScript, Swift, Go এবং অন্যান্য টাইপ ডিফিনিশন তৈরি করুন। |
| JSON Generator | মক ডেটা | টেমপ্লেট থেকে স্ট্রাকচার্ড মক ডেটা তৈরি করুন — API টেস্ট ফিক্সচারের জন্য উপকারী। |
JSON ফরম্যাটিংয়ের সূক্ষ্ম বিষয়
JSON সহজ দেখালেও এর কিছু কঠোর নিয়ম আছে — এগুলো জানলে প্রতিবার পার্সার আপনার পেলোড প্রত্যাখ্যান করলে রাউন্ড-ট্রিপ বাঁচানো যায়।
কোনটি বৈধ JSON হিসেবে গণ্য হয়?
JSON ছয় ধরনের মান সংজ্ঞায়িত করে: অবজেক্ট, অ্যারে, স্ট্রিং, নম্বর, বুলিয়ান এবং নাল। কী অবশ্যই দ্বিগুণ উদ্ধৃত স্ট্রিং হতে হবে, কোনো ট্রেইলিং কমা থাকে না এবং কমেন্ট করা যায় না।
জাভাস্ক্রিপ্টের অতিরিক্ত জিনিস যেমন একক উদ্ধৃত, undefined, NaN, Infinity এবং ট্রেইলিং কমা সবই কঠোর পার্সারে ব্যর্থ হয় — ঠিক যা এই টুলটি চিহ্নিত করে।
ভিউ করা ফরম্যাট করার থেকে কীভাবে আলাদা?
ফরম্যাট করা টেক্সট লেআউট পরিবর্তন করে: ইন্ডেন্টেশন, লাইন ব্রেক এবং মিনিফিকেশন। ভিউ করা ডকুমেন্টকে অপরিবর্তিত রাখে — আপনি যখন কোনো ফিল্ডে ক্লিক করেন, তখন তার সম্পূর্ণ মান, টাইপ এবং JSON পাথ একটি সাইড প্যানেলে প্রদর্শিত হয়।
গভীরভাবে নেস্ট করা অবজেক্ট একা বন্ধনী থেকে পড়া কঠিন, তাই কোনো ফিল্ডে ক্লিক করে আপনি নিশ্চিত হতে পারেন যে এটি ঠিক কী ধারণ করে — বিশেষ করে API রেসপন্স এবং লগ পেলোডের ক্ষেত্রে এটি খুব উপকারী।
ফরম্যাট করার পর আমার কীগুলোর ক্রম কেন পরিবর্তন হয়?
JSON স্পেস অবজেক্টকে অপ্রত্যাশিত কী-মান জোড়া হিসেবে বিবেচনা করে এবং পার্সারগুলো সেগুলো পুনর্বিন্যাস করার স্বাধীনতা রাখে। বাস্তবে V8 (Chrome / Node) স্ট্রিং কীগুলোর জন্য সন্নিবেশের ক্রম বজায় রাখে, কিন্তু পূর্ণসংখ্যার মতো কীগুলো ("1", "42") সবসময় প্রথমে সংখ্যা অনুসারে বাছাই করা হয়। যেকোনো পার্সারের মধ্যেও একটি স্থায়ী, বর্ণানুক্রমিক ক্রম চাইলে "Sort object keys" সক্রিয় করুন — কনফিগের তফাত বিশ্লেষণের জন্য এটি উপযোগী।
JSON কত বড় সংখ্যা ধারণ করতে পারে?
নিজেই JSON এর কোনো সীমা নেই, কিন্তু জাভাস্ক্রিপ্ট প্রতিটি সংখ্যাকে IEEE-754 ডবল হিসেবে পার্স করে। ±2^53 (প্রায় 9 কোয়াড্রিলিয়ন) এর বেশি পূর্ণসংখ্যা সঠিকতা হারায় — 9007199254740993 হয়ে যায় 9007199254740992। আপনার পেলোড যদি 64-বিট আইডি বা ন্যানোসেকেন্ডের টাইমস্ট্যাম্প বহন করে, সেগুলোকে স্ট্রিং হিসেবে রাখুন; এই টুল সেগুলো নষ্ট করবে না, কিন্তু আপনি জাভাস্ক্রিপ্ট কোডে পেস্ট করলে নষ্ট হয়ে যাবে।
সৌন্দর্যায়নের পরিবর্তে মিনিফাই করা উচিত কখন?
মানুষের পড়ার জন্য যেকোনো কাজেই সৌন্দর্যায়ন করুন: কোড রিভিউ, ডিবাগিং, ডকুমেন্টেশন। মেশিনের ট্রান্সফারের জন্য যেকোনো কাজেই মিনিফাই করুন: API বডি, URL প্যারামিটার, এনভায়রনমেন্ট ভেরিয়েবল এবং .env ফাইল। একটি সাধারণ API পেলোড মিনিফাই করলে শূন্য কাঠামোগত পরিবর্তনে 15–30% বাইট বাঁচে — এটি সবচেয়ে সস্তা কম্প্রেশন।
Escaping এর ব্যবহার কী?
Escaping JSON কে একটি স্ট্রিং লিটারেল হিসেবে গঠন করে: কোটগুলো become \" এবং নিউলাইন become \n করে, যাতে এটি অন্য কোনো JSON মান, শেল কমান্ড বা এনভায়রনমেন্ট ভেরিয়েবলের ভেতরে বাধা না দিয়ে থাকতে পারে। Unescape এর মাধ্যমে এটি বিপরীত করা হয়। আপনি যদি কখনো লগ লাইন থেকে {\"a\":1} এর মতো একটি পেলোড কপি করে থাকেন, এটিই সেই ফরম্যাট — এখানে পেস্ট করুন এবং Unescape ক্লিক করুন।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
আমার JSON কি কোথাও আপলোড বা সংরক্ষণ করা হয়?
না। সবকিছু আপনার ব্রাউজারে জাভাস্ক্রিপ্ট দিয়ে চলে — আপনার JSON কে কোনো অনুরোধে কোথাও নেয়া হয় না, এটি অফলাইনে কাজ করে এবং লোকাল স্টোরেজে কিছুই লেখা হয় না, তাই পৃষ্ঠা রিফ্রেশ করলে ইনপুট সাফ হয়ে যায়।
আমার কনফিগ ফাইলে ফরম্যাটিং কেন ব্যর্থ হয়?
সম্ভবত এটি স্ট্রিক্ট JSON নয়: JSONC / JSON5 কমেন্ট এবং ট্রেলিং কোমা অনুমতি দেয়, YAML ইন্ডেন্টেশন-ভিত্তিক এবং .env ফাইল হয় কী=মান জোড়া। প্রথমে কমেন্ট এবং ট্রেলিং কোমা সরান, অথবা সেই ফরম্যাটের জন্য তৈরি পার্সার ব্যবহার করুন।
কী বাছাই করলে অ্যারেও পরিবর্তন হয় কি?
না। অ্যারের ক্রম তাৎপর্যপূর্ণ (প্রথম উপাদান, দ্বিতীয় উপাদান…), তাই অ্যারে সবসময় আগের অবস্থানে থাকে। শুধু অবজেক্টের কীগুলো — অ্যারের ভিতরের নেস্টেড অবজেক্টসহ — বর্ণানুক্রমিকভাবে সাজানো হয়।
"Error near L12 : C34" এর অর্থ কী?
এটা 1-ভিত্তিক লাইন ও কলাম যেখানে পার্সার কাজ বন্ধ করে দিয়েছে: লাইন 12, কলাম 34। প্রকৃত ভুল সাধারণত ওই স্থানে বা ঠিক তার আগে হয় — পূর্ববর্তী লাইনে কোমা না থাকা, অসুরক্ষিত উদ্ধৃতি, বা বন্ধকারী ব্রেসের আগে ট্রেলিং কোমা।
কোনো সাইজের সীমা আছে? এটা মোবাইলে কাজ করে?
কোনো কঠোর সীমা নেই — কয়েক মেগাবাইট লগ আউটপুট ফরম্যাট করা যায়। লো-এন্ড ডিভাইসে খুব বড় ইনপুট (কয়েক ডজন MB) ধীর লাগতে পারে কারণ প্রতিটি কীস্ট্রোক পুনরায় পার্স ও ফরম্যাট হয়। লেআউট প্রতিক্রিয়াশীল; এডিটর পর্দার প্রস্থের সাথে খাপ খায়।