# JSON ফরম্যাটার

URL: https://discuvr.org/json-formatter/?hl=bn
Last updated: 2026-11-07
MCP tool: `format_json`

JSON পেস্ট করুন এবং তাৎক্ষণিকভাবে ইনডেন্ট, মিনিফাই বা যাচাই করা অবস্থায় পান। ভাঙা JSON-এর জন্য সঠিক লাইন ও কলাম দেখানো হয়, দোষী লাইনসহ। কিছুই সংরক্ষণ করা হয় না।

কোনো API লগ বা কনফিগারেশন ফাইল থেকে আসা JSON সাধারণত একটি দীর্ঘ লাইন হয়, এবং যে JSON পার্স হয় না তা সাধারণত এমন কোথাও ব্যর্থ হয় যা আপনি দেখতে পান না। এটি এটিকে ইনডেন্ট করে যাতে আপনি পড়তে পারেন, প্রয়োজনে ছোট করার জন্য মিনিফাই করে, এবং যখন এটি ভাঙা থাকে তখন লাইন ও কলাম বলে দেয় এবং সেই লাইন দেখায়।

## এটি কী করে

- 2 স্পেস, 4 স্পেস বা ট্যাব দিয়ে সুন্দর করুন - অথবা সবচেয়ে ছোট বৈধ রূপে মিনিফাই করুন।
- JSON Lines আউটপুট: লগ ও স্ট্রিম ফরম্যাটের জন্য প্রতি লাইনে একটি কমপ্যাক্ট রেকর্ড।
- নির্ভুল ত্রুটি - বার্তা, লাইন, কলাম এবং আশেপাশের লাইন।
- ঐচ্ছিকভাবে প্রতিটি অবজেক্টের কী সাজান, যাতে দুটি নথি যুক্তিসঙ্গতভাবে তুলনা করা যায়।
- যেসব সিস্টেম UTF-8 বহন করতে পারে না তাদের জন্য ঐচ্ছিকভাবে নন-ASCII কে \uXXXX এ এস্কেপ করুন।
- ঐচ্ছিকভাবে কমেন্ট ও শেষের কমা গ্রহণ করুন, এবং ঠিক কী সরানো হয়েছে তা বলা হয়।
- নথির আকার জানায়: কী, অবজেক্ট, অ্যারে, নেস্টিং গভীরতা এবং সাশ্রয়কৃত আকার।

## এটি যেভাবে কাজ করে

1. JSON পেস্ট করুন, অথবা যা আপনি আশা করেছিলেন JSON হবে।
2. সুন্দর করা, মিনিফাই বা JSON Lines বেছে নিন এবং ফরম্যাট চাপুন।
3. ফলাফল কপি বা ডাউনলোড করুন - অথবা ত্রুটি পড়ুন এবং যে লাইনের নাম দেওয়া হয়েছে তা ঠিক করুন।

## কেন ত্রুটি বার্তা ফরম্যাটিংয়ের চেয়ে বেশি গুরুত্বপূর্ণ

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

## কমেন্ট ও শেষের কমা

JSON কখনোই এই দুটির কোনোটিরই অনুমতি দেয়নি, কিন্তু মানুষ আপনাকে যে ফাইলগুলো আসলে দেয় - tsconfig, VS Code সেটিংস, হাতে সম্পাদিত যেকোনো কিছু - এগুলোতে ভরা। অপশনটি টিক দিলে পার্স করার আগে এগুলো সরিয়ে দেয়, এবং তারপর টুলটি বলে দেয় কতগুলো কমেন্ট ও কতগুলো কমা এটি সরিয়েছে। এটি ঐচ্ছিক এবং নির্ভুলভাবে জানানো হয় কারণ একটি ফরম্যাটার যা নিঃশব্দে আপনার নথি পরিবর্তন করে তা প্রত্যাখ্যান করা ফরম্যাটারের চেয়ে খারাপ।

## এটি কী করে না

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

## সংখ্যা, পুনরাবৃত্ত কী এবং NaN

আপনার JSON পার্স করে আবার লেখা হয়, তাই কিছু জিনিস মানক রূপে ফেরে। সংখ্যাগুলো নতুন করে লেখা হয়: 1.50 হয় 1.5, 1E3 হয় 1000.0 এবং -0 হয় 0, আর 64-বিট float যত অঙ্ক ধরতে পারে তার চেয়ে বেশি অঙ্কের দশমিক সংখ্যা রাউন্ড করা হয় (0.1000000000000000055 হয় 0.1)। পূর্ণসংখ্যা 4,300 অঙ্ক পর্যন্ত হুবহু থাকে (এর চেয়ে লম্বা হলে প্রত্যাখ্যাত হয়)। কোনো অবজেক্টে একটি কী পুনরাবৃত্ত হলে কেবল শেষ মানটি থাকে, কোনো সতর্কতা ছাড়াই। NaN, Infinity এবং -Infinity গ্রহণ করা হয় এবং যেমন আছে তেমন থাকে, যদিও মানক JSON (RFC 8259) এগুলোর অনুমতি দেয় না, আর float-এর জন্য খুব বড় সংখ্যা, যেমন 1e400, Infinity হিসেবে বেরোয়। এর কোনোটি যদি আপনি যে সিস্টেমে ডেটা দিচ্ছেন তার জন্য গুরুত্বপূর্ণ হয়, তবে ত্রুটিহীন ফলাফলে ভরসা করার আগে নিজে যাচাই করুন।

## প্রশ্নাবলী

**আমার JSON কোথাও আপলোড বা সংরক্ষিত হয়?**

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

**আমার এডিটর গ্রহণ করলেও কেন এটি বলে আমার JSON অবৈধ?**

সাধারণত কমেন্ট, শেষের কমা, একক উদ্ধৃতি বা উদ্ধৃতিহীন কী - এসব কনফিগারেশন ফাইলে সাধারণ এবং এগুলোর কোনোটিই বৈধ JSON নয়। প্রথম দুটির জন্য "কমেন্ট ও শেষের কমা অনুমতি দিন" টিক দিন; বাকিগুলো সত্যিকারের অবৈধ এবং ঠিক করতে হবে।

**এটি কি একটি বড় ফাইল সামলাতে পারে?**

প্রতি অনুরোধে 2,000,000 অক্ষর পর্যন্ত; এর চেয়ে লম্বা লেখা তার সঠিক দৈর্ঘ্য জানিয়ে প্রত্যাখ্যান করা হয়। সেই আকারের ফাইলের জন্য jq-এর মতো একটি কমান্ড-লাইন টুল ভালো যন্ত্র।

**JSON Lines কীসের জন্য?**

লগ পাইপলাইন ও স্ট্রিমিং লোডার একটি বড় অ্যারের পরিবর্তে প্রতি লাইনে একটি JSON অবজেক্ট পড়ে। এটি বেছে নিন এবং একটি টপ-লেভেল অ্যারে প্রতি লাইনে একটি কমপ্যাক্ট রেকর্ড হিসেবে ফিরে আসে।

**কী সাজানো কি আমার ডেটা পরিবর্তন করে?**

না। অবজেক্টের কী-এর ক্রম JSON-এ অর্থবহ নয়, এবং অ্যারের ক্রম - যা অর্থবহ - কখনও স্পর্শ করা হয় না। সাজানো আছে যাতে একই নথির দুটি সংস্করণ শব্দ ছাড়াই তুলনা করা যায়।

**এই JSON Excel-এ কীভাবে খুলব?**

Microsoft 365-এর Excel-এ এটি .json ফাইল হিসেবে সেভ করুন এবং Data > Get Data > From File > From JSON বেছে নিন। Power Query এটি খোলে: সবচেয়ে উপরের স্তরের array একটি List হিসেবে দেখা যায়, To Table সেটিকে Records-এর একটি কলামে বদলায়, আর কলাম হেডারের expand বোতাম (দুটি তীর) প্রতিটি key-কে আলাদা কলামে ছড়িয়ে দেয়; nested array expand করলে প্রতিটি আইটেমের জন্য একটি সারি যোগ হয়। Power Query-র একটিই বৈধ JSON নথি দরকার, তাই আগে এখানেই ভুলগুলো ঠিক করুন, যেখানে সারি ও কলাম দেখানো হয়, তারপর সুন্দর করুন বা মিনিফাই করুন-এর আউটপুট সেভ করুন; JSON Lines আউটপুট লগ টুলের জন্য। এই টুল নিজে JSON-কে CSV বা Excel-এ রূপান্তর করে না।

**কমান্ড লাইন থেকে JSON কীভাবে যাচাই বা ফরম্যাট করব?**

Python-এ একটি যাচাইকারী আগে থেকেই আছে: python -m json.tool data.json ডকুমেন্টটি ৪ স্পেস ইনডেন্টে দেখায়, অথবা Expecting ',' delimiter: line 3 column 3 এর মতো বার্তা দিয়ে থেমে যায়। jq ইনস্টল থাকলে jq . data.json ফরম্যাট করে, আর jq empty data.json শুধু যাচাই করে এবং ফাইল ঠিক থাকলে কিছুই দেখায় না। দুটির কোনোটিই কমেন্ট বা ট্রেইলিং কমা গ্রহণ করে না, তাই এগুলো থাকা কনফিগ ফাইল সেখানে ব্যর্থ হয়; ফাইলটি এখানে পেস্ট করুন এবং কী সরানো হলো দেখতে "কমেন্ট ও ট্রেইলিং কমা এর অনুমতি দিন" চালু করুন।

**"Expecting property name enclosed in double quotes" মানে কী?**

পার্সার একটি অবজেক্টের key আশা করছিল, কিন্তু অন্য কিছু পেয়েছে। সাধারণত key-গুলো single quote-এ থাকে বা কোনো quote থাকে না, যেমন Python বা JavaScript থেকে কপি করা {'name': 'Asha'}, যা লাইন ১, কলাম ২-এ থেমে যায়: JSON-এ প্রতিটি key আর string-এর চারপাশে double quote লাগে, আর এই টুল কখনো quote বদলায় না, তাই নিজে ঠিক করুন। একই বার্তা কোনো বন্ধ brace-এ এলে, যেমন {"a": 1,}-এ, কারণটি একটি ট্রেইলিং কমা; সরাতে "কমেন্ট ও ট্রেইলিং কমা এর অনুমতি দিন" চালু করুন। True, False বা None-এ Expecting value মানে Python-এর মান: JSON-এ true, false আর null ছোট হাতের অক্ষরে লেখা হয়। Python-এ json.dumps(data) বৈধ JSON দেয়, print(data) দেয় না। ত্রুটিগুলো Python-এর পার্সার যেভাবে লেখে ঠিক সেভাবেই, ইংরেজিতে দেখানো হয়, যাতে আপনি বার্তাটি হুবহু সার্চ করতে পারেন।

**"Extra data" মানে কী?**

পার্সার একটি সম্পূর্ণ JSON মান পড়ার পর আরও লেখা পেয়েছে। সাধারণ কারণ: প্রতি লাইনে একটি অবজেক্ট থাকা JSON Lines (NDJSON) লগ, যা লাইন ২, কলাম ১-এ থামে; পরপর পেস্ট করা দুটি ডকুমেন্ট; অথবা শেষ বন্ধ brace-এর পরে একটি // কমেন্ট, যা "কমেন্ট ও ট্রেইলিং কমা এর অনুমতি দিন" সরিয়ে দেয়। এই টুল একবারে একটি ডকুমেন্ট যাচাই করে, তাই একটি রেকর্ড পেস্ট করুন, অথবা রেকর্ডগুলো কমা দিয়ে আলাদা করে [ ]-এর ভেতরে রাখুন; এরপর JSON Lines বেছে নিলে সেগুলো আবার প্রতি লাইনে একটি করে লেখা হয়।

## ডেভেলপার টুল-এ আরও

- [Python ফরম্যাটার](https://discuvr.org/python-formatter/?hl=bn)
- [HTML Viewer](https://discuvr.org/html-viewer/?hl=bn)
- [IP সাবনেট ক্যালকুলেটর](https://discuvr.org/ip-subnet-calculator/?hl=bn)
- [এনকোড / ডিকোড](https://discuvr.org/encode-decode/?hl=bn)

## প্রায়ই এগুলোর সঙ্গে ব্যবহৃত হয়

- [CSV থেকে Excel](https://discuvr.org/csv-to-excel/?hl=bn)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
