এই পৃষ্ঠার সবকিছু ইচ্ছাকৃতভাবে এক স্ক্রিনে ফিট হয়: JSON এর সিনট্যাক্স এত ছোট যে একটি পূর্ণ রেফারেন্সের দীর্ঘ হওয়ার প্রয়োজন নেই। এখানে পড়ুন, বা একই রেফারেন্স ছবি হিসাবে ডাউনলোড করুন অফলাইনে রাখতে বা প্রিন্ট করতে।

1. গঠন
JSON একটি অবজেক্ট ({ }) এর ভিতরে কী-ভ্যালু পেয়ার হিসাবে বা একটি অ্যারে ([ ]) এর ভিতরে সাজানো তালিকা হিসাবে লেখা হয়। কী সবসময় স্ট্রিং। মান স্ট্রিং, নম্বর, বুলিয়ান, null, অ্যারে বা অন্য একটি অবজেক্ট হতে পারে, ডেটা প্রকৃতপক্ষে যতটুকু প্রয়োজন ততটুকু নেস্ট করা।
{
"name": "Ada",
"age": 36,
"active": true,
"skills": ["json", "css"],
"address": { "city": "London" },
"nickname": null
}
2. সিনট্যাক্স নিয়ম
- কী এবং স্ট্রিং মান ডাবল কোটেশন ব্যবহার করে। সিঙ্গেল কোটেশন বৈধ JSON নয়।
- একটি কোলন প্রতিটি কীকে তার মান থেকে আলাদা করে।
- একটি কমা পেয়ার এবং অ্যারে আইটেম আলাদা করে, শেষটির পরে কোনোটি নেই।
- অ্যারে সাজানো তালিকা, মানগুলি কমা দ্বারা আলাদা।
- কোনো কমেন্ট নেই। স্ট্যান্ডার্ড JSON এ কোনো কমেন্ট সিনট্যাক্স নেই, // নয় এবং # নয়।
3. ডেটা টাইপ
| টাইপ | উদাহরণ | নোট |
|---|---|---|
| String | “hello” | শুধুমাত্র ডাবল কোটেশন |
| Number | 42, -3.14 | কোনো হেক্স নয়, কোনো NaN নয়, কোনো লিডিং জিরো নয় |
| Boolean | true, false | লোয়ারকেস, আনকোটেড |
| Null | null | লোয়ারকেস, আনকোটেড |
| Array | [“a”, 1, true] | সাজানো, মিশ্র টাইপ অনুমোদিত |
| Object | {“key”: “value”} | কী সবসময় স্ট্রিং |
JSON ডেটা টাইপ ব্যাখ্যা প্রতিটির মধ্যে যায় সেই এজ কেস সহ যা পার্সারকে বিভ্রান্ত করে।
4. সাধারণ অপারেশন (JavaScript)
JSON.parse(text) // string -> value, invalid JSON তে থ্রো করে
JSON.stringify(value) // value -> string
JSON.stringify(value, null, 2) // প্রিন্ট ফরম্যাটে, 2 স্পেস ইন্ডেন্ট
value.key // পার্স করার পর একটি কী পড়ুন
value.nested.key // একটি নেস্টেড কী পড়ুন
5. উদাহরণ
অবজেক্টের অ্যারে
[
{ "id": 1, "name": "Ada" },
{ "id": 2, "name": "Linus" }
]
নেস্টেড অবজেক্ট
{ "user": { "id": 1, "verified": true } }
মিশ্র টাইপ
{ "tags": ["a", "b"], "score": null, "live": false }
6. সেরা অনুশীলন
- অর্থবহ ধারাবাহিক কী নাম ব্যবহার করুন।
- ডেটা যুক্তিসঙ্গতভাবে অনুমতি দেয় ততটুকু ফ্ল্যাট রাখুন।
- আপনি নিজে তৈরি করা নয় এমন ইনপুট পার্স করার আগে JSON যাচাই করুন।
- তালিকার জন্য অ্যারে ব্যবহার করুন, সংখ্যার মতো কী সহ অবজেক্ট নয়।
- সঠিক প্রিসিশন গুরুত্বপূর্ণ হলে বড় ইন্টিজারকে স্ট্রিং হিসাবে কোট করুন; একটি 64-বিট ID সাধারণ JSON.parse এ রাউন্ড হতে পারে (দেখুন JSON ডেটা টাইপ)।
- পার্সিং ত্রুটি স্পষ্টভাবে হ্যান্ডল করুন। সাধারণত বৈধ JSON হওয়ার কারণে ইনপুট বৈধ ধরে নেবেন না।
এখান থেকে কোথায় যাবেন
- JSON কি?, এই পৃষ্ঠার শুরুর সংস্করণ।
- JSON vs YAML এবং JSON vs XML, কখন JSON সঠিক ফরম্যাট নয়।
- JSON ফরম্যাটার এবং JSON ভ্যালিডেটর, উপরের সবকিছুর বিরুদ্ধে প্রকৃত ডকুমেন্ট যাচাই করতে।