🎥 উপরে পুরো ভিডিওটি দেখে নিতে পারেন — অথবা নিচে পড়ে নিন। দুটোতেই একই জিনিস সহজ করে বোঝানো হয়েছে।
এতক্ষণে আপনি জানেন — client একটা request পাঠায়, server একটা response ফেরত দেয়। কিন্তু সেই response-এর ভেতরের ডেটা দেখতে কেমন? প্রায় সবসময়ই সেটা একটা নির্দিষ্ট ফরম্যাটে থাকে — JSON। এটাই পুরো API কোর্সের সবচেয়ে কাজের অধ্যায়, কারণ JSON পড়তে শিখলে আপনি কার্যত ইন্টারনেটের প্রায় সব অ্যাপের ভেতর দিয়ে বয়ে যাওয়া ডেটা পড়তে পারবেন।
JSON কী?
JSON-এর পূর্ণরূপ JavaScript Object Notation। নামে "JavaScript" থাকলেও ভয় পাবেন না — JSON ব্যবহার করতে JavaScript জানার একদমই দরকার নেই। সহজভাবে বললে, JSON হলো API-দের ডেটা লেখার ও পাঠানোর সর্বজনীন ভাষা — হালকা, শুধু সাধারণ টেক্সট, আর পৃথিবীর প্রায় সব প্রোগ্রাম (Python, PHP, Java, যেকোনো কিছু) এটা পড়তে পারে। এ কারণেই এটা এত জনপ্রিয়।
কেন JSON এত গুরুত্বপূর্ণ?
মনে করুন একটা বাংলাদেশি অ্যাপ আর একটা আমেরিকান server-কে কথা বলতে হবে। তাদের ভাষা আলাদা, কোড আলাদা — তাহলে তারা একে অপরকে বুঝবে কীভাবে? উত্তর: একটা সাধারণ ফরম্যাট, যেটা দুজনেই বোঝে। সেটাই JSON। এটা ডেটার জন্য আন্তর্জাতিক ইংরেজির মতো — সবাই জানে, সবাই ব্যবহার করে।
হৃদয়: key-value pair
JSON-এর পুরো ভিত্তি একটাই ধারণা — একটা লেবেল ও তার তথ্য। লেবেলটা হলো key, আর তথ্যটা হলো value। মাঝখানে থাকে একটা কোলন (:)। একে একটা ফর্ম পূরণের মতো ভাবুন:
ব্যস — এই key-value জোড়াগুলো একটার পর একটা সাজিয়ে দিলেই একটা সম্পূর্ণ JSON তৈরি হয়।
দুটি প্রধান চিহ্ন: { } আর [ ]
JSON-এ মাত্র দুটো চিহ্ন চিনলেই আপনি ৯০% পড়ে ফেলতে পারবেন:
- { } (curly braces / কোঁকড়ানো বন্ধনী) → একটা object — মানে একটা জিনিস, লেবেল দিয়ে বর্ণিত (যেমন একজন মানুষ)।
- [ ] (square brackets / তৃতীয় বন্ধনী) → একটা array — মানে জিনিসের একটা তালিকা (যেমন কয়েকটা কোর্স)।
মনে রাখার সহজ উপায়: { } = একজন, [ ] = অনেকজন।
এবার মানুষের মতো করে পড়ুন: এটা একজন ব্যক্তির তথ্য ({ } দিয়ে ঘেরা) — নাম Ayesha, বয়স 25, অ্যাকাউন্ট active, আর সে দুটি কোর্সে ভর্তি ([ ] দিয়ে তালিকা): API Basics আর Web Design। অভিনন্দন — আপনি এইমাত্র একটা raw API ডেটা নিজে নিজে পড়ে ফেললেন! 🎉
Value-র ধরন
একটা value কয়েক ধরনের হতে পারে — এগুলো চিনে রাখুন:
- String (টেক্সট) — সবসময় quote-এর ভেতরে:
"Rahim" - Number — quote ছাড়া:
25 - Boolean — হ্যাঁ/না:
true/false - null — খালি / কোনো মান নেই
- Array / Object — একটা তালিকা, বা আরেকটা পুরো object (হ্যাঁ, object-এর ভেতরে object থাকতে পারে!)
নতুনদের ৩টি সাধারণ ভুল
JSON লিখতে গিয়ে নতুনরা যেসব ছোট ভুল করে (আর পুরো জিনিস ভেঙে যায়):
- ❌ key-তে quote না দেওয়া। JSON-এ key সবসময় double-quote-এ:
"name", কখনোnameনয়। - ❌ শেষ আইটেমের পরে কমা রাখা। তালিকার শেষ আইটেমের পরে কমা (trailing comma) দিলে JSON ভেঙে যায়।
- ❌ single quote ব্যবহার। JSON শুধু double-quote (
") বোঝে, single-quote (') নয়।
হাতে-কলমে: নিজের চোখে JSON দেখুন
কোর্সের শুরুতে যে GitHub API দেখেছিলেন, সেটাই আসলে JSON ছিল! আবার ব্রাউজারে যান:
এবার আর ভয় লাগবে না — কারণ এখন আপনি curly braces, key, value সব চিনে ফেলেছেন। "login", "followers", "public_repos" — প্রতিটা key-এর পরে তার value দেখুন। এটাই খাঁটি JSON, আর আপনি এখন এটা সাবলীলভাবে পড়তে পারেন। 🙌
💡 পড়ার রেসিপি
key খুঁজুন (লেবেল) → colon-এর পরে দেখুন (value)। { } = একটা জিনিস, [ ] = তালিকা। টেক্সট quote-এ থাকে, সংখ্যা ও true/false থাকে না।সংক্ষেপে — আজকের মূল কথা
- JSON = API-দের ডেটা পাঠানোর সর্বজনীন ভাষা (শুধু টেক্সট)।
- মূল ভিত্তি: key : value জোড়া।
- { } = একটা জিনিস (object), [ ] = তালিকা (array)।
- String quote-এ থাকে; number আর true/false থাকে না।
- এখন আপনি যেকোনো অ্যাপের raw ডেটা পড়তে পারেন!
প্রায়ই জিজ্ঞেস করা প্রশ্ন (FAQ)
JSON কি শুধু API-তেই ব্যবহার হয়?
না। JSON কনফিগারেশন ফাইল, ডেটা সেভ করা, অ্যাপের সেটিংস — অনেক জায়গায় ব্যবহার হয়। তবে API-ই এর সবচেয়ে বড় ব্যবহারক্ষেত্র।
JSON আর XML — পার্থক্য কী?
দুটোই ডেটা পাঠানোর ফরম্যাট। XML পুরোনো ও ভারী (ট্যাগ দিয়ে ভরা), JSON হালকা ও সহজপাঠ্য। আজকাল প্রায় সব নতুন API-ই JSON ব্যবহার করে।
পরবর্তী ধাপ
দারুণ — আপনি API-র চারটি স্তম্ভই শিখে ফেলেছেন: এটা কী, কীভাবে কাজ করে, methods, endpoints, আর এখন JSON। পরের পর্বে আমরা decode করব সেই ছোট নম্বরগুলো — status codes (200, 404, 500) — যা প্রতিটি response-এ লুকিয়ে থাকে আর বলে দেয় আপনার request সফল হলো কিনা।
📬 পরের পর্ব মিস করতে চান না?
সম্পূর্ণ ফ্রি API কোর্সটি দেখুন, আর নতুন পর্বের আপডেট পেতে সাবস্ক্রাইব করুন।
▶️ YouTube-এ Subscribe 📚 সম্পূর্ণ API কোর্স📧 প্রশ্ন আছে? hello@shadhinpath.com