JSON Toolkit

JSON ফাইল কী, দিয়ে খুলবেন, আর কীভাবে সম্পাদনা করবেন

সংক্ষেপে: নোটপ্যাডে লেখা এলোমেলো অক্ষর থেকে শুরু করে JSON ফাইল খোলার তিনটি উপায়, সম্পাদনার পর কিছু ভেঙেছে কি না নিশ্চিত করার পদ্ধতি এবং বিশাল ফাইল না খুললে কী করবেন।

শিক্ষানবিশ~9 মিনিট পড়াপ্রকাশ 2026-10-30আপডেট 2026-10-30
JSON ফাইলের মৌলিক বিষয়ের কভার

মূল কথা: JSON ফাইল খোলার আগে তার এনকোডিং ও BOM নিশ্চিত করুন, তারপর যাচাই করুন যে কাঠামোটি কেবল একটি অবজেক্ট বা অ্যারে; সম্পাদনার পর প্রতিবার পার্সার দিয়ে যাচাই করুন, চোখে ব্র্যাকেট-কমা মিলিয়ে নয়।

এটি আসলে .json এক্সটেনশনযুক্ত একটি সাধারণ টেক্সট ফাইল, নোটপ্যাডও খুলতে পারে। আসল মাথাব্যথা "খুলছে না" নয়, বরং খোলার পর আপনি দেখতে পান না ঠিক কোথায় কী ভেঙেছেন।

১. JSON ফাইলের ভেতরে আসলে কী থাকে

একটি বৈধ JSON ফাইলে কেবল দুটির একটি থাকতে পারে: একটি অবজেক্ট {...} বা একটি অ্যারে [...]। আর কিছু নয় — কোনো ভেরিয়েবল ডিক্লারেশন নেই, কমেন্ট নেই, ফাংশন নেই।

{
  "name": "order service",
  "port": 8080,
  "debug": false,
  "upstream": ["10.0.0.11", "10.0.0.12"],
  "timeout": null
}

কাঠামোগতভাবে তিনটি বিষয় চিনলেই যথেষ্ট:

যা দেখছেন অর্থ সংশ্লিষ্ট প্রোগ্রামিং ধারণা
{ }-এ মোড়া কি-ভ্যালু জোড়া একটি অবজেক্ট; কি অবশ্যই ডাবল কোটে মোড়া স্ট্রিং Map / struct
[ ]-এ মোড়া ভ্যালুর ক্রম একটি অ্যারে; উপাদানের টাইপ আলাদা হতে পারে List
ছয়টি ভ্যালু টাইপ স্ট্রিং, সংখ্যা, বুলিয়ান, null, অবজেক্ট, অ্যারে কেবল এই ছয়টি; তারিখ নেই, ইন্টিজারও নেই

ফাইলের এক্সটেনশন বিষয়বস্তু ঠিক করে না: package.json, tsconfig.json ও composer.json একই ধরনের জিনিস; বিভিন্ন টুল শুধু ভিন্ন কি পড়তে সম্মত হয়েছে।

২. খোলার তিনটি উপায়, পরিস্থিতি অনুযায়ী

শুধু একবার দেখতে চান: ব্রাউজারে খুলুন। ফাইলটি Chrome বা Edge-এর উইন্ডোতে টেনে ফেলুন, ব্রাউজার যেমন আছে তেমন দেখাবে; JSON Viewer এক্সটেনশন থাকলে স্বয়ংক্রিয়ভাবে সুন্দরভাবে সাজিয়ে কলাপসযোগ্য করে দেয়।

বিষয়বস্তু সম্পাদনা করতে হবে: এডিটর ব্যবহার করুন। VS Code, Sublime ও Notepad++ — সবই JSON সিনট্যাক্স হাইলাইটিং ও ব্র্যাকেট মিলিয়ে দেয়, আর VS Code-এ Shift + Alt + F ডকুমেন্টটি ফরম্যাট করে। মনে রাখবেন, Windows নোটপ্যাড সেভ করার সময় BOM যোগ করতে পারে, ফলে আপনার কনফিগারেশন পরিবর্তন কার্যকর না-ও হতে পারে; এড়িয়ে চলাই ভালো।

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

বড় ফাইল (কয়েক দশ MB বা বেশি): জোর করে এডিটরে খুলবেন না। ১০০ MB-র JSON ফাইল VS Code-এ খুললে শেষে নিজের সিদ্ধান্ত নিয়ে সন্দেহ হবে; আগে কমান্ড লাইন দিয়ে কাঠামো দেখুন:

# প্রথম ২০ লাইন দেখে নিশ্চিত করুন এটি অ্যারে কি না
head -n 20 data.json

# পুরো ফাইল লোড না করে jq দিয়ে টপ-লেভেল কি তালিকা করুন
jq -r 'keys[]' data.json | head

# অ্যারের দৈর্ঘ্য গণনা করুন
jq 'length' data.json

৩. ডাবল-ক্লিকে এলোমেলো অক্ষর এলে কী করবেন

তিনটি কারণ, প্রতিটির চিকিৎসা আলাদা:

  1. এটি আসলে একটি বাইনারি ফাইল (যেমন কোনো কম্প্রেসড আর্কাইভ, বা এক্সপোর্ট করা ডেটাবেস ফাইল, যার এক্সটেনশন .json)। file data.json দিয়ে আসল টাইপ দেখুন; জোর করে টেক্সট হিসেবে পড়বেন না।
  2. এনকোডিং UTF-8 নয়। GBK-এ এনকোড করা চীনা লেখা UTF-8 পরিবেশে এলোমেলো দেখায়। এডিটরের "Reopen with encoding" দিয়ে একবার GBK চেষ্টা করুন; ঠিকভাবে দেখালে UTF-8 হিসেবে সেভ করুন।
  3. ফাইলটি এনক্রিপ্ট বা কম্প্রেস করা হয়েছে। লক্ষণ হলো শুরুতে PK (zip) বা একগুচ্ছ প্রশ্নচিহ্ন; এগুলো আগে ডিকম্প্রেস বা ডিক্রিপ্ট করতে হবে।

৪. সম্পাদনার পর কিছু ভাঙেনি কীভাবে নিশ্চিত করবেন

JSON-এ শূন্য সহনশীলতা: একটি কমা বাদ, একটি বাড়তি কমা, বা একটি কোট বাদ পড়লেই পুরো ফাইল অচল, আর দেখানো এরর লোকেশন প্রায়ই পরের লাইনে আঙুল তোলে। তাই সম্পাদনার পর অবশ্যই যাচাই করুন; চোখের উপর ভরসা করবেন না।

তিনটি উচ্চ-ঝুঁকিপূর্ণ সম্পাদনা, সমস্যা ঘটানোর কম্পাঙ্ক অনুযায়ী সাজানো:

কাজ সাধারণ পরিণতি এড়ানোর উপায়
কনফিগারেশনের একটি ব্লক পেস্ট করা ট্রেইলিং কমা বা ফুল-উইড্থ বিরামচিহ্ন ঢুকে যায় পেস্টের সঙ্গে সঙ্গে একবার ফরম্যাট করুন
হাতে কি-এর ক্রম বদলানো বাড়তি বা বাদ পড়া কমা এডিটরের লাইন সরানোর কমান্ড ব্যবহার করুন; হাতে আবার টাইপ করবেন না
অ্যারের শেষ উপাদান মুছে ফেলা পেছনে ,] পড়ে থাকে মোছার পর ব্র্যাকেট জোড়া মিলছে কি না দেখুন

যাচাই সহজ: অনলাইন ভ্যালিডেটর-এ পেস্ট করে লাল লেখা খুঁজুন, বা কমান্ড লাইনে এক লাইন চালান:

python3 -m json.tool config.json > /dev/null && echo OK

OK ছাপলে ফাইল বৈধ। ফিল্ডের টাইপও যাচাই করতে চাইলে (যেমন port অবশ্যই সংখ্যা এবং name খালি হতে পারবে না), JSON Schema লেখা মানুষের চোখের চেয়ে অনেক বেশি নির্ভরযোগ্য।

৫. .json-এর সঙ্গে নিকট আত্মীয়দের পার্থক্য

এক্সটেনশন পার্থক্য সাধারণ পার্সার পড়তে পারে কি
.json স্ট্যান্ডার্ড JSON হ্যাঁ
.jsonc // ও /* */ কমেন্টের অনুমতি না; আগে কমেন্ট সরাতে হবে
.json5 কমেন্ট, সিঙ্গেল কোট, আনকোয়োটেড কি, ট্রেইলিং কমার অনুমতি না; JSON5 পার্সার দরকার
.jsonl / .ndjson প্রতি লাইনে একটি স্বতন্ত্র JSON; পুরো ফাইল বৈধ JSON নয় না, সম্পূর্ণ হিসেবে নয়; লাইন ধরে পড়তে হবে

tsconfig.json-এ কমেন্ট দেখে অবাক হবেন না; এটিকে আসলে .jsonc হিসেবে হ্যান্ডল করা হয়। একই বিষয়বস্তু JSON.parse-কে দিলে এরর হবে। এগুলোর মধ্যে রূপান্তর দরকার হলে JSON5 থেকে JSON দিয়ে এক ক্লিকে কমেন্ট ও ট্রেইলিং কমা সরান।

৬. কখন স্টোরেজ ফরম্যাট বদলাবেন

JSON উপযুক্ত যখন "কাঠামো নির্দিষ্ট নয়, মানুষকে পড়তে হয়, এবং একাধিক ভাষায় যাতায়াত করে"। ফাইল কয়েক দশ MB ছাড়ালে, ফিল্ডের কাঠামো স্থির হলে এবং শর্তভিত্তিক কুয়েরি দরকার হলে JSON-এ আটকে থাকা নিজের জন্য ঝামেলা বানানো — SQLite, Parquet-এ যান বা ডেটাবেসে লোড করুন; পড়া/লোডের পারফরম্যান্সে শতগুণ পার্থক্য হয়। নির্দিষ্ট সমঝোতার জন্য দেখুন বড় JSON পার্সিং ও স্ট্রিমিং।

সাধারণ প্রশ্ন

খোলা যায় না এমন JSON ফাইল কীভাবে দেখব?

জোর করে এডিটরে খুলবেন না; ১০০ MB-র JSON ফাইল VS Code-এ খুললে শেষে নিজের সিদ্ধান্ত নিয়ে সন্দেহ হবে। আগে কমান্ড লাইন দিয়ে কাঠামো দেখুন: head -n 20 যাচাই করে অ্যারে কি না, jq -r 'keys[]' কেবল টপ-লেভেল কি তালিকা করে, আর jq 'length' অ্যারের দৈর্ঘ্য গণনা করে। এগুলোর কোনোটিই পুরো ফাইল লোড করে না।

নোটপ্যাডে সম্পাদনা করলে কনফিগারেশন কার্যকর হয় না কেন?

Windows নোটপ্যাড সেভ করার সময় BOM যোগ করতে পারে, আর BOM-যুক্ত ফাইল কনফিগারেশন পার্সিংয়ে ব্যর্থ হয়, তাই সম্পাদিত বিষয়বস্তু কখনো কার্যকর হয় না। নিবন্ধের সুপারিশ হলো VS Code, Sublime বা Notepad++-এর মতো এডিটর ব্যবহার করা, যেগুলো JSON সিনট্যাক্স হাইলাইটিং ও ব্র্যাকেট মিলিয়ে দেয়। নোটপ্যাড ইতিমধ্যে ব্যবহার করলে আবার "UTF-8 without BOM" হিসেবে সেভ করে চেষ্টা করুন।

JSON ফাইলকে JSON5 ভেবে কমেন্ট যোগ করতে পারি?

না — স্ট্যান্ডার্ড পার্সার .json ফাইলে কমেন্টের অনুমতি দেয় না এবং JSON.parse সঙ্গে সঙ্গে এরর দেয়। কমেন্ট .jsonc বা .json5 ফাইলে রাখতে হয়, যেগুলো উপযুক্ত পার্সার পড়ে। tsconfig.json-এর মতো ফাইল আসলে .jsonc হিসেবে হ্যান্ডল হয়; একই বিষয়বস্তু JSON.parse-কে দিলে ব্যর্থ হয়।