json_encode() এবং json_decode() দুটি প্রধান ফাংশন যা PHP তে JSON ডেটা প্রসেস করার জন্য ব্যবহৃত হয়। এগুলি JSON ডেটা স্ট্রিং এবং PHP অ্যাসোসিয়েটিভ অ্যারে বা অবজেক্টের মধ্যে রূপান্তর করতে ব্যবহৃত হয়। এই দুটি ফাংশন JSON ডেটা ফরম্যাটে ডেটা ইন্টারচেঞ্জ করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
1. json_encode() ফাংশন
json_encode() ফাংশনটি ব্যবহার করে PHP অ্যারের ডেটা বা অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করা হয়। এটি PHP এর যেকোনো ডেটা স্ট্রাকচারকে JSON ফরম্যাটে রূপান্তরিত করে, যাতে এটি সার্ভার বা ক্লায়েন্ট সাইডে JSON হিসেবে পাঠানো যেতে পারে।
Sintax:
json_encode($value, $options = 0, $depth = 512);
- $value: PHP অ্যারে বা অবজেক্ট যেটি JSON-এ রূপান্তরিত হবে।
- $options (optional): JSON এনকোডিং-এর জন্য বিভিন্ন অপশন। যেমন
JSON_PRETTY_PRINT,JSON_FORCE_OBJECTইত্যাদি। - $depth (optional): এনকোডিং-এর সর্বাধিক গভীরতা।
উদাহরণ:
// PHP অ্যারে
$array = array("name" => "John", "age" => 30, "city" => "New York");
// JSON এ রূপান্তর
$jsonData = json_encode($array);
// আউটপুট: {"name":"John","age":30,"city":"New York"}
echo $jsonData;
এখানে, json_encode() ফাংশনটি PHP অ্যারে $array কে একটি JSON স্ট্রিং এ রূপান্তর করেছে।
আরেকটি উদাহরণ:
// PHP অবজেক্ট
$person = new stdClass();
$person->name = "Alice";
$person->age = 25;
$person->isStudent = true;
// JSON এ রূপান্তর
$jsonData = json_encode($person);
// আউটপুট: {"name":"Alice","age":25,"isStudent":true}
echo $jsonData;
এখানে, json_encode() ফাংশনটি PHP অবজেক্ট $person কে JSON স্ট্রিং এ রূপান্তর করেছে।
2. json_decode() ফাংশন
json_decode() ফাংশনটি ব্যবহার করে JSON ডেটা স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করা হয়। এই ফাংশনটি JSON ডেটাকে PHP এর সাথে ব্যবহারের উপযোগী করে তোলে।
Sintax:
json_decode($json, $assoc = false, $depth = 512, $options = 0);
- $json: JSON স্ট্রিং যেটি ডিকোড করা হবে।
- $assoc (optional): যদি
trueহয়, তবে JSON ডেটা অ্যাসোসিয়েটিভ অ্যারে হিসেবে রূপান্তরিত হবে। ডিফল্টfalse, যা PHP অবজেক্ট রূপে ডিকোড করবে। - $depth (optional): JSON ডিকোড করার সর্বাধিক গভীরতা।
- $options (optional): JSON ডিকোডিং এর জন্য বিভিন্ন অপশন।
উদাহরণ:
// JSON স্ট্রিং
$jsonData = '{"name":"John","age":30,"city":"New York"}';
// JSON ডিকোড করা
$decodedData = json_decode($jsonData, true); // true দিয়ে অ্যাসোসিয়েটিভ অ্যারে হবে
// আউটপুট: Array ( [name] => John [age] => 30 [city] => New York )
print_r($decodedData);
এখানে, json_decode() ফাংশনটি JSON স্ট্রিং $jsonData কে PHP অ্যাসোসিয়েটিভ অ্যারে $decodedData এ রূপান্তর করেছে।
আরেকটি উদাহরণ:
// JSON স্ট্রিং
$jsonData = '{"name":"Alice","age":25,"isStudent":true}';
// JSON ডিকোড করা
$decodedData = json_decode($jsonData);
// আউটপুট: stdClass Object ( [name] => Alice [age] => 25 [isStudent] => 1 )
print_r($decodedData);
এখানে, json_decode() ফাংশনটি JSON স্ট্রিং $jsonData কে PHP অবজেক্টে রূপান্তর করেছে (যেহেতু assoc প্যারামিটারটি ডিফল্টভাবে false রয়েছে)।
json_encode() এবং json_decode() এর ব্যবহার:
- ডেটা এক্সচেঞ্জ:
JSON ফরম্যাটে ডেটা পাঠানো এবং গ্রহণ করার জন্যjson_encode()এবংjson_decode()ফাংশন ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি যখন একটি ওয়েব API কল করেন, তখন সার্ভার JSON ফরম্যাটে ডেটা রিটার্ন করে এবং ক্লায়েন্ট সেই JSON ডেটাকে PHP অবজেক্ট বা অ্যারে হিসেবে রূপান্তর করে। - ডেটাবেসে JSON সংরক্ষণ:
ডেটাবেসে JSON স্ট্রিং সংরক্ষণ করতেjson_encode()ব্যবহার করা যেতে পারে এবং সেই ডেটাকে পরবর্তীতে ডিকোড করতেjson_decode()ব্যবহৃত হয়। - কনফিগারেশন ফাইল:
JSON কনফিগারেশন ফাইল থেকে ডেটা পড়তে এবং সেই ডেটা PHP অ্যারে বা অবজেক্টে রূপান্তর করার জন্যjson_decode()ব্যবহৃত হয়, এবং PHP অ্যারে বা অবজেক্ট থেকে JSON স্ট্রিং তৈরি করতেjson_encode()ব্যবহৃত হয়।
সারাংশ
json_encode() এবং json_decode() ফাংশনগুলি PHP তে JSON ডেটা প্রসেস করার জন্য অত্যন্ত গুরুত্বপূর্ণ। json_encode() ফাংশন JSON স্ট্রিং তৈরি করতে ব্যবহৃত হয় এবং json_decode() ফাংশন JSON ডেটাকে PHP অ্যারে বা অবজেক্টে রূপান্তর করতে ব্যবহৃত হয়। এই দুটি ফাংশন ডেটা এক্সচেঞ্জ, API ইন্টিগ্রেশন, এবং ডেটাবেসে JSON সংরক্ষণ করার জন্য ব্যবহার করা হয়।
Read more