JSON (JavaScript Object Notation) হল একটি সহজ এবং হালকা ওজনের ডেটা ফরম্যাট যা ডেটা স্টোর এবং ট্রান্সফার করতে ব্যবহৃত হয়। এটি মানুষের পক্ষে পড়তে সহজ এবং মেশিনের জন্য পার্স (parse) করা সহজ। JSON মূলত নেটওয়ার্ক প্রোটোকল হিসেবে ব্যবহৃত হয় এবং ওয়েব অ্যাপ্লিকেশন এবং সার্ভারের মধ্যে ডেটা বিনিময়ের জন্য একটি জনপ্রিয় ফরম্যাট।
JSON-এর গঠন (syntax) বেশ সরল এবং এটি দুটি প্রধান উপাদান নিয়ে গঠিত:
JSON-এর গঠন সঠিকভাবে অনুসরণ করা হলে ডেটা সঠিকভাবে পাঠানো এবং গ্রহণ করা সম্ভব।
JSON অবজেক্টটি {}
(কোণাঙ্কিত ব্র্যাকেট) দ্বারা বেষ্টিত থাকে এবং এটি একটি কী-ভ্যালু পেয়ার (key-value pair) নিয়ে গঠিত। প্রতিটি কী (key) অবশ্যই একটি স্ট্রিং হতে হবে এবং এর সাথে যুক্ত মান (value) যেকোনো ডেটা টাইপ হতে পারে (যেমন স্ট্রিং, নম্বর, বুলিয়ান, অ্যারে, অবজেক্ট ইত্যাদি)।
উদাহরণ:
{
"name": "John",
"age": 30,
"city": "New York"
}
এখানে:
"name"
, "age"
, এবং "city"
হল কী (key)।"John"
, 30
, এবং "New York"
হল তাদের সম্পর্কিত মান (value)।JSON অ্যারে হলো []
(বর্গাকার ব্র্যাকেট) দ্বারা বেষ্টিত একটি ডেটা স্ট্রাকচার, যা একাধিক মান ধারণ করতে পারে। এই মানগুলো একটি নির্দিষ্ট অর্ডারে রাখা হয় এবং প্রতিটি মান কমা দিয়ে পৃথক করা হয়।
উদাহরণ:
{
"names": ["John", "Jane", "Doe"]
}
এখানে:
"names"
একটি কী এবং তার মান একটি অ্যারে, যেটিতে তিনটি স্ট্রিং (John, Jane, Doe) রয়েছে।JSON অবজেক্টে ডেটা কন্টেইনার হিসেবে কী-ভ্যালু পেয়ার ব্যবহৃত হয়। প্রতিটি কী (key) একটি স্ট্রিং হিসেবে এবং তার সাথে সংশ্লিষ্ট মান (value) হতে পারে যেকোনো ডেটা টাইপ (যেমন স্ট্রিং, নম্বর, অ্যারে, বা অন্য একটি অবজেক্ট)।
উদাহরণ:
{
"firstName": "John",
"lastName": "Doe",
"isMarried": true
}
এখানে:
"firstName"
এবং "lastName"
হল স্ট্রিং টাইপ মান।"isMarried"
একটি বুলিয়ান (Boolean) মান ধারণ করে, যার মান true।JSON-এ বিভিন্ন ধরনের ডেটা টাইপ ব্যবহার করা যায়, যার মধ্যে উল্লেখযোগ্য হলো:
"John"
25
, 30.5
true
বা false
null
["apple", "banana", "orange"]
{"name": "John", "age": 30}
{
"name": "Alice",
"age": 25,
"email": "alice@example.com"
}
এখানে:
"name"
, "age"
, এবং "email"
হল কী (key)।"Alice"
, 25
, এবং "alice@example.com"
হল তাদের মান (value)।{
"students": [
{"name": "John", "age": 22},
{"name": "Jane", "age": 23},
{"name": "Doe", "age": 24}
]
}
এখানে:
"students"
একটি কী এবং এর মান একটি অ্যারে যা তিনটি অবজেক্ট ধারণ করছে।{
"employee": {
"name": "David",
"position": "Manager",
"details": {
"age": 35,
"location": "New York"
}
}
}
এখানে:
"employee"
একটি অবজেক্ট, যার মধ্যে আরো একটি নেস্টেড অবজেক্ট "details"
রয়েছে।"details"
অবজেক্টে age এবং location কীগুলোর মান রয়েছে।JSON (JavaScript Object Notation) হল একটি জনপ্রিয় ডেটা বিনিময় ফরম্যাট যা কী-ভ্যালু পেয়ার এবং অ্যারে ভিত্তিক গঠন ব্যবহার করে। এটি সহজ, পড়তে সহজ এবং মেশিনের জন্য দ্রুত প্রোসেসিং সম্ভব। JSON-এর গঠন (syntax) বিশেষভাবে গুরুত্বপূর্ণ, এবং এর মধ্যে অবজেক্ট, অ্যারে, কী-ভ্যালু পেয়ার, এবং নেস্টেড অবজেক্টের মতো বিভিন্ন বৈশিষ্ট্য রয়েছে। JSON মূলত ওয়েব অ্যাপ্লিকেশন এবং সার্ভারের মধ্যে ডেটা বিনিময় এবং স্টোর করার জন্য ব্যবহৃত হয়।
JSON (JavaScript Object Notation) একটি হালকা, সহজ, এবং মানব-পঠনযোগ্য ডেটা বিনিময় ফরম্যাট যা মূলত ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে ডেটা ট্রান্সফার করার জন্য ব্যবহৃত হয়। এটি একটি টেক্সট-বেসড ফরম্যাট যা JavaScript অবজেক্টের সাদৃশ্যপূর্ণ হলেও এটি অন্যান্য প্রোগ্রামিং ভাষার জন্যও সমর্থিত।
JSON ডেটার গঠন মূলত দুইটি মৌলিক উপাদান দিয়ে তৈরি: অবজেক্ট এবং এরে। এটি ক্লাসিক্যালভাবে কী-ভ্যালু পেয়ার (key-value pair) হিসেবে ডেটা সংরক্ষণ করে।
JSON অবজেক্ট হল একটি সংগ্রহ যেখানে ডেটা কী-ভ্যালু পেয়ার হিসেবে থাকে। JSON অবজেক্ট {}
দিয়ে চিহ্নিত করা হয়। প্রতিটি কী (key) একটি স্ট্রিং হতে হয় এবং তার সাথে যুক্ত মান (value) যেকোনো ধরনের হতে পারে: স্ট্রিং, নাম্বার, অ্যারে, অবজেক্ট বা null।
উদাহরণ:
{
"name": "John",
"age": 30,
"isStudent": false
}
এখানে:
"name"
: "John"
— "name" কী-এর মান হল "John"
(স্ট্রিং)।"age"
: 30
— "age" কী-এর মান হল 30
(নাম্বার)।"isStudent"
: false
— "isStudent" কী-এর মান হল false
(বুলিয়ান)।JSON এরে হল একটি ক্রমানুসারে সাজানো ডেটার তালিকা যা []
দিয়ে চিহ্নিত হয়। একটি অ্যারের মধ্যে একাধিক উপাদান থাকতে পারে এবং প্রতিটি উপাদান আলাদা আলাদা ডেটা টাইপ হতে পারে (স্ট্রিং, নাম্বার, অবজেক্ট, ইত্যাদি)।
উদাহরণ:
{
"names": ["John", "Jane", "Doe"]
}
এখানে "names"
একটি অ্যারে যা তিনটি স্ট্রিং (জন, জেন, ডো) ধারণ করছে।
JSON ডেটার মৌলিক গঠন হল কী-ভ্যালু পেয়ার। এখানে কী একটি স্ট্রিং এবং মান যেকোনো ডেটা টাইপ হতে পারে। এটি JSON অবজেক্টের ভিতরে থাকে।
উদাহরণ:
{
"city": "Dhaka",
"population": 20000000
}
এখানে:
"city"
: "Dhaka"
— এটি একটি কী-ভ্যালু পেয়ার যেখানে কী হল "city"
এবং মান হল "Dhaka"
(স্ট্রিং)।"population"
: 20000000
— এটি একটি কী-ভ্যালু পেয়ার যেখানে কী হল "population"
এবং মান হল 20000000
(নাম্বার)।JSON ডেটায় কোনো কী-ভ্যালু পেয়ার যদি মানহীন থাকে, তাহলে null ব্যবহার করা হয়।
উদাহরণ:
{
"name": "John",
"age": null
}
এখানে "age"
এর মান null
রাখা হয়েছে।
"name": "John"
"age": 25
true
অথবা false
ব্যবহার করা হয়। যেমন: "isStudent": false
JSON হল একটি জনপ্রিয় এবং সরল ডেটা বিনিময় ফরম্যাট যা ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে ডেটা এক্সচেঞ্জ করার জন্য ব্যবহৃত হয়। এর মৌলিক গঠন অবজেক্ট ও অ্যারে দ্বারা তৈরি হয় এবং এই গঠনে কী-ভ্যালু পেয়ার ব্যবহৃত হয়। JSON এর সাদৃশ্য JavaScript অবজেক্টের সাথে থাকলেও এটি অন্যান্য প্রোগ্রামিং ভাষায়ও সমর্থিত এবং ব্যবহৃত হয়।
জেসন (JSON - JavaScript Object Notation) একটি লাইটওয়েট ডেটা ইন্টারচেঞ্জ ফরম্যাট যা মানুষের পঠনযোগ্য এবং মেশিনের মাধ্যমে সহজে পার্স করা যায়। এটি মূলত key-value pairs ব্যবহার করে ডেটা প্রতিনিধিত্ব করে। JSON এর key-value pairs ব্যবহারের মাধ্যমে তথ্য আদান প্রদান খুবই সহজ এবং সুবিধাজনক হয়। এটি ওয়েব অ্যাপ্লিকেশন, API, এবং ডেটাবেসের মধ্যে ডেটা আদান-প্রদান করতে ব্যাপকভাবে ব্যবহৃত হয়।
Key-Value Pair হল দুটি উপাদান: একটি key এবং একটি value। key
একটি স্ট্রিং টাইপের, যা একটি ইউনিক আইডেন্টিফায়ার হিসেবে কাজ করে, এবং value
হচ্ছে সেই key-এর সাথে সম্পর্কিত ডেটা যা যেকোনো ডেটা টাইপের হতে পারে যেমন স্ট্রিং, নাম্বার, বুলিয়ান, অ্যারে বা অন্য JSON অবজেক্ট।
JSON ফরম্যাটে ডেটা এইভাবে থাকে:
{
"key": "value"
}
এখানে "key"
একটি স্ট্রিং, এবং "value"
হচ্ছে সেই key-এর মান, যা স্ট্রিং, নাম্বার, অ্যারে বা অন্যান্য JSON অবজেক্ট হতে পারে।
নিচে একটি JSON ডেটা উদাহরণ দেওয়া হলো, যেখানে বিভিন্ন key-value pair রয়েছে:
{
"name": "John Doe",
"age": 30,
"isEmployed": true,
"address": {
"street": "123 Main St",
"city": "New York"
},
"phoneNumbers": ["123-456-7890", "987-654-3210"]
}
এখানে:
"name"
: "John Doe"
(এটি একটি স্ট্রিং টাইপ value)"age"
: 30
(এটি একটি নাম্বার টাইপ value)"isEmployed"
: true
(এটি একটি বুলিয়ান টাইপ value)"address"
: একটি অন্য JSON অবজেক্ট, যা একটি নতুন key-value pair ধারণ করে।"phoneNumbers"
: একটি অ্যারে, যা একাধিক স্ট্রিং ধারণ করে।Java তে JSON ডেটা পার্স এবং প্রক্রিয়া করার জন্য সাধারণত Jackson, Gson, বা org.json লাইব্রেরি ব্যবহার করা হয়। এই লাইব্রেরিগুলি JSON ডেটা থেকে key-value pair এক্সট্রাক্ট এবং সেট করতে সাহায্য করে।
Jackson লাইব্রেরি ব্যবহার করে JSON ডেটা পার্স করার উদাহরণ:
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;
public class JSONExample {
public static void main(String[] args) throws IOException {
String jsonString = "{\"name\": \"John Doe\", \"age\": 30, \"isEmployed\": true}";
// ObjectMapper এর মাধ্যমে JSON পার্স করা
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> map = objectMapper.readValue(jsonString, Map.class);
// Key-Value Pair এক্সট্রাক্ট করা
System.out.println("Name: " + map.get("name"));
System.out.println("Age: " + map.get("age"));
System.out.println("Is Employed: " + map.get("isEmployed"));
}
}
এই কোডে:
ObjectMapper
ব্যবহার করা হয়েছে JSON স্ট্রিংকে Map-এ রূপান্তর করতে।Gson লাইব্রেরি ব্যবহার করে JSON ডেটা পার্স করার উদাহরণ:
import com.google.gson.Gson;
import java.util.Map;
public class GsonExample {
public static void main(String[] args) {
String jsonString = "{\"name\": \"John Doe\", \"age\": 30, \"isEmployed\": true}";
// Gson ব্যবহার করে JSON স্ট্রিং পার্স করা
Gson gson = new Gson();
Map<String, Object> map = gson.fromJson(jsonString, Map.class);
// Key-Value Pair এক্সট্রাক্ট করা
System.out.println("Name: " + map.get("name"));
System.out.println("Age: " + map.get("age"));
System.out.println("Is Employed: " + map.get("isEmployed"));
}
}
এই উদাহরণে:
Gson
ব্যবহার করে JSON ডেটা Map এ রূপান্তরিত করা হয়েছে এবং key-value pair গুলো এক্সট্রাক্ট করা হয়েছে।JSON ডেটা প্রায়ই nested থাকে, অর্থাৎ একটি key-ভ্যালু পেয়ার অন্য একটি JSON অবজেক্টে থাকতে পারে। এর মাধ্যমে জটিল ডেটা কাঠামো সহজে তৈরি করা সম্ভব হয়।
{
"employee": {
"name": "John Doe",
"position": "Developer",
"department": {
"name": "IT",
"location": "New York"
}
}
}
এখানে:
"employee"
key এর মান একটি nested JSON অবজেক্ট।"department"
key এর মানও একটি nested JSON অবজেক্ট।Java-তে এরকম nested key-value pair পড়ার উদাহরণ:
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;
public class NestedJSONExample {
public static void main(String[] args) throws IOException {
String jsonString = "{\"employee\": {\"name\": \"John Doe\", \"position\": \"Developer\", \"department\": {\"name\": \"IT\", \"location\": \"New York\"}}}";
// JSON পার্স করা
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> map = objectMapper.readValue(jsonString, Map.class);
// Nested Key-Value Pair এক্সট্রাক্ট করা
Map<String, Object> employee = (Map<String, Object>) map.get("employee");
System.out.println("Employee Name: " + employee.get("name"));
System.out.println("Position: " + employee.get("position"));
// Nested Department এর Key-Value Pair
Map<String, Object> department = (Map<String, Object>) employee.get("department");
System.out.println("Department Name: " + department.get("name"));
System.out.println("Location: " + department.get("location"));
}
}
Key-Value Pairs হল JSON এর মূল কাঠামো, যা ডেটা উপস্থাপন এবং এক্সচেঞ্জ করার জন্য খুবই কার্যকরী। JSON ফরম্যাটের মাধ্যমে বিভিন্ন ধরনের ডেটা যেমন স্ট্রিং, নাম্বার, অ্যারে বা অবজেক্ট সহজে সংরক্ষণ ও প্রক্রিয়া করা যায়। Java তে Jackson, Gson, বা org.json লাইব্রেরি ব্যবহার করে JSON ডেটা পার্স এবং key-value pair গুলো অ্যাক্সেস করা খুবই সহজ। JSON এ nested key-value pair এর সাহায্যে আরও জটিল ডেটা কাঠামো তৈরি করা যায়, যা আধুনিক ওয়েব অ্যাপ্লিকেশনগুলির জন্য অপরিহার্য।
JSON (JavaScript Object Notation) একটি হালকা ও সহজ ফরম্যাট যা সাধারণত ডেটা এক্সচেঞ্জ করতে ব্যবহৃত হয়। এটি মূলত মানব-পাঠযোগ্য এবং সহজে পার্স করা যায়। JSON সাধারণত ওয়েব অ্যাপ্লিকেশনে সার্ভার এবং ক্লায়েন্টের মধ্যে ডেটা ট্রান্সফার করার জন্য ব্যবহৃত হয়। JSON দুইটি প্রধান উপাদান ধারণ করে: Objects এবং Arrays।
JSON এর Objects হল একটি কিপ-ভ্যালু পেয়ার (key-value pair) যা {}
(কোঁকড়ানো বন্ধনী) দিয়ে আবদ্ধ থাকে। প্রতিটি key একটি স্ট্রিং এবং তার সাথে সম্পর্কিত value কোনো ডেটা টাইপ হতে পারে, যেমন স্ট্রিং, নম্বর, বুলিয়ান, অন্য একটি অবজেক্ট, অথবা একটি অ্যারে।
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
{
"name": "John",
"age": 30,
"city": "New York"
}
এখানে, "name"
, "age"
, এবং "city"
হল key, এবং "John"
, 30
, এবং "New York"
তাদের সংশ্লিষ্ট value।
{
"name": "John",
"address": {
"street": "123 Main St",
"city": "New York",
"zipcode": "10001"
}
}
এখানে "address"
একটি nested object যা "street"
, "city"
, এবং "zipcode"
এর তথ্য ধারণ করে।
JSON এর Arrays হল একটি মানের তালিকা যা []
(বর্গাকার বন্ধনী) দিয়ে আবদ্ধ থাকে। একটি অ্যারে একাধিক মান ধারণ করতে পারে এবং প্রতিটি মান comma-separated থাকে। এই মানগুলি যে কোন ডেটা টাইপের হতে পারে, যেমন স্ট্রিং, নম্বর, অবজেক্ট, অথবা অন্য একটি অ্যারে।
[
"value1",
"value2",
"value3"
]
{
"fruits": ["apple", "banana", "cherry"]
}
এখানে, "fruits"
একটি অ্যারে যা "apple"
, "banana"
, এবং "cherry"
ধারণ করে।
{
"employees": [
{
"name": "John",
"age": 30,
"position": "Developer"
},
{
"name": "Jane",
"age": 25,
"position": "Designer"
}
]
}
এখানে, "employees"
একটি অ্যারে, যেখানে দুটি অবজেক্ট রয়েছে, এবং প্রতিটি অবজেক্টে "name"
, "age"
, এবং "position"
এর তথ্য রয়েছে।
{}
এর মধ্যে থাকে।[]
এর মধ্যে থাকে।এটি JSON ডেটা মডেলিংয়ে সুবিধাজনক, কারণ আপনি সহজেই ডেটা সংগঠিত এবং শ্রেণীবদ্ধ করতে পারেন।
{
"name": "Alice",
"age": 28,
"contact": {
"email": "alice@example.com",
"phone": "123-456-7890"
},
"hobbies": ["reading", "traveling", "coding"],
"address": {
"street": "456 Maple St",
"city": "Boston",
"zipcode": "02110"
}
}
এখানে, "contact"
এবং "address"
দুটি nested object এবং "hobbies"
একটি অ্যারে।
JSON এর Objects এবং Arrays ডেটা সংরক্ষণ এবং ট্রান্সফার করার ক্ষেত্রে গুরুত্বপূর্ণ ভূমিকা পালন করে। Objects কিপ-ভ্যালু পেয়ার ধারণ করে, যা বিভিন্ন ধরনের তথ্য সংরক্ষণ করতে সাহায্য করে, এবং Arrays একাধিক মান বা ভ্যালু একটি তালিকাভুক্ত করে সংরক্ষণ করে। JSON এর এই দুটি উপাদান অ্যাপ্লিকেশন ডেভেলপমেন্টে ডেটার প্রক্রিয়াকরণ এবং এক্সচেঞ্জকে সহজতর করে।
JSON (JavaScript Object Notation) একটি সহজ, হালকা-ওজনের ডেটা ইন্টারচেঞ্জ ফরম্যাট যা মানুষের কাছে পাঠযোগ্য এবং মেশিনের দ্বারা পার্স করা এবং জেনারেট করা সহজ। এটি প্রধানত ডেটা ট্রান্সফারের জন্য ব্যবহৃত হয়, বিশেষত ওয়েব অ্যাপ্লিকেশনগুলিতে। JSON ডেটা বিভিন্ন ডেটা টাইপের মাধ্যমে স্টোর করা হয়, যা JSON অবজেক্টের মধ্যে ব্যবহার করা হয়। JSON এর মধ্যে মোট ছয়টি মূল ডেটা টাইপ রয়েছে: String, Number, Boolean, Null, Object, এবং Array।
উদাহরণ:
{
"name": "John Doe"
}
এখানে "John Doe"
একটি স্ট্রিং ডেটা।
উদাহরণ:
{
"age": 30,
"height": 5.9
}
এখানে 30
এবং 5.9
দুটি সংখ্যা।
true
অথবা false
। এটি সাধারণত শর্ত বা লজিক্যাল সিদ্ধান্ত সংরক্ষণের জন্য ব্যবহৃত হয়।উদাহরণ:
{
"isActive": true,
"isStudent": false
}
এখানে "isActive"
এর মান true
এবং "isStudent"
এর মান false
।
উদাহরণ:
{
"middleName": null
}
এখানে "middleName"
এর মান null
, যা নির্দেশ করে যে কোনো মধ্যম নাম নেই বা অনুপস্থিত।
{}
বন্ধনী দ্বারা সীমাবদ্ধ থাকে এবং এর মধ্যে একাধিক key-value পেয়ার থাকতে পারে।উদাহরণ:
{
"person": {
"name": "John",
"age": 30
}
}
এখানে "person"
একটি অবজেক্ট, যার মধ্যে "name"
এবং "age"
দুটি কী-মান (key-value) পেয়ার রয়েছে।
{}
এর পরিবর্তে []
বন্ধনী ব্যবহার করে তৈরি করা হয়।উদাহরণ:
{
"fruits": ["apple", "banana", "cherry"]
}
এখানে "fruits"
একটি অ্যারে, যা তিনটি স্ট্রিং "apple"
, "banana"
, এবং "cherry"
ধারণ করছে।
JSON একটি খুবই কার্যকরী ডেটা বিনিময় ফরম্যাট, যা ছয়টি মূল ডেটা টাইপ: String, Number, Boolean, Null, Object, এবং Array ব্যবহার করে। প্রতিটি ডেটা টাইপ একটি নির্দিষ্ট ধরনের তথ্য সংরক্ষণ করতে সহায়তা করে এবং JSON ফাইলগুলোকে আরও পরিষ্কার, সরল এবং মানব-পাঠযোগ্য করে তোলে।
Read more