JSON কী?
JSON (JavaScript Object Notation) হলো ডেটা বিনিময়ের একটি লাইটওয়েট, টেক্সট-ভিত্তিক ফরম্যাট। Server ও client এর মধ্যে ডেটা পাঠানোর জন্য আজকের web-এ সবচেয়ে জনপ্রিয় ফরম্যাট।
JSON Syntax
{
"name": "করিম",
"age": 25,
"isActive": true,
"balance": 1500.50,
"address": null,
"hobbies": ["পড়া", "ভ্রমণ", "কোডিং"],
"location": {
"city": "ঢাকা",
"country": "Bangladesh"
}
}
JSON-এর নিয়ম
- Key অবশ্যই double quote ("...") এ থাকবে
- String value-ও double quote এ
- Number, boolean, null — quote ছাড়া
- শেষে trailing comma দেওয়া যাবে না
- Comment লেখা যাবে না
- Function বা undefined থাকতে পারবে না
Supported Data Types
- String —
"hello" - Number —
42,3.14 - Boolean —
true,false - null
- Array —
[1, 2, 3] - Object —
{ "key": "value" }
JSON ↔ JavaScript
// JS Object → JSON string
const user = { name: "করিম", age: 25 };
const json = JSON.stringify(user);
console.log(json);
// '{"name":"করিম","age":25}'
// Pretty print (indent)
console.log(JSON.stringify(user, null, 2));
// JSON string → JS Object
const jsonStr = '{"name":"করিম","age":25}';
const obj = JSON.parse(jsonStr);
console.log(obj.name); // "করিম"
Error Handling
try {
const data = JSON.parse(invalidJson);
} catch (e) {
console.error("Invalid JSON:", e.message);
}
JSON vs XML
// JSON (আধুনিক)
{
"user": {
"name": "করিম",
"age": 25
}
}
// XML (পুরনো)
<user>
<name>করিম</name>
<age>25</age>
</user>
JSON ছোট, দ্রুত parse হয়, JS-এ native support — তাই XML কে প্রায় রিপ্লেস করেছে।
বাস্তব JSON Response উদাহরণ
{
"success": true,
"code": 200,
"data": {
"users": [
{ "id": 1, "name": "করিম", "role": "admin" },
{ "id": 2, "name": "রহিম", "role": "user" }
],
"total": 2
},
"message": "User list fetched successfully"
}
localStorage-এ JSON সংরক্ষণ
const user = { name: "করিম", age: 25 };
// Save
localStorage.setItem("user", JSON.stringify(user));
// Load
const saved = JSON.parse(localStorage.getItem("user"));
console.log(saved.name); // "করিম"