Skill

JSON এবং PHP Integration

Java Technologies - জেসন (JSON)
79
79

JSON (JavaScript Object Notation) একটি জনপ্রিয় ডেটা ফরম্যাট যা সাধারণত ওয়েব অ্যাপ্লিকেশনগুলিতে ডেটা ট্রান্সফার করার জন্য ব্যবহৃত হয়। JSON মূলত জাভাস্ক্রিপ্টে ব্যবহৃত হলেও এটি PHP সহ অন্যান্য প্রোগ্রামিং ভাষার সঙ্গে খুব সহজে ইন্টিগ্রেট করা যায়। PHP দিয়ে JSON ডেটা পাঠানো এবং গ্রহণ করা খুবই সাধারণ এবং এর জন্য PHP এ বিল্ট-ইন ফাংশন রয়েছে, যেমন json_encode() এবং json_decode()

JSON এবং PHP-র মধ্যে সম্পর্ক


JSON এবং PHP-এর মধ্যে ইন্টিগ্রেশন সাধারণত ডেটা ট্রান্সফার এবং স্টোরেজ কাজের জন্য ব্যবহৃত হয়। PHP সাইটগুলিতে JSON ডেটা পাঠানো এবং গ্রহণ করা একটি খুবই সাধারণ কাজ, বিশেষত যখন আপনি ক্লায়েন্ট-সাইড এবং সার্ভার-সাইডের মধ্যে ডেটা আদান-প্রদান করছেন (যেমন AJAX রিকোয়েস্টে)।

JSON ডেটা PHP তে পাঠানো


১. PHP-তে JSON ডেটা প্রেরণ (Sending JSON Data)

যখন PHP থেকে JSON ডেটা পাঠানো হয়, তখন সাধারণত json_encode() ফাংশনটি ব্যবহৃত হয়, যা একটি PHP অ্যারের ডেটাকে JSON স্ট্রিংয়ে রূপান্তর করে।

উদাহরণ:

<?php
// PHP অ্যারে
$data = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

// অ্যারেকে JSON ফরম্যাটে রূপান্তর করা
$jsonData = json_encode($data);

// JSON রেসপন্স পাঠানো
echo $jsonData;
?>

এখানে:

  • json_encode($data) PHP অ্যারেটি JSON ফরম্যাটে রূপান্তর করেছে।
  • echo $jsonData দ্বারা JSON ডেটা আউটপুট হিসেবে পাঠানো হচ্ছে, যা ব্রাউজারে বা অন্য ক্লায়েন্ট সাইডে রিসিভ হবে।

২. PHP-তে JSON রেসপন্স পাঠানোর জন্য Content-Type সেট করা

যখন PHP থেকে JSON রেসপন্স পাঠানো হয়, তখন আপনাকে HTTP হেডারে Content-Type: application/json সেট করতে হবে। এর মাধ্যমে ক্লায়েন্ট বুঝতে পারবে যে এটি JSON ডেটা।

উদাহরণ:

<?php
// JSON হেডার সেট করা
header('Content-Type: application/json');

// PHP অ্যারে
$data = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

// অ্যারেকে JSON ফরম্যাটে রূপান্তর করা
echo json_encode($data);
?>

এখানে:

  • header('Content-Type: application/json'): এই লাইনটি সার্ভারের রেসপন্স হেডারে JSON কনটেন্ট টাইপ নির্ধারণ করে।

PHP থেকে JSON ডেটা গ্রহণ


১. PHP-তে JSON ডেটা গ্রহণ (Receiving JSON Data)

যখন ক্লায়েন্ট (যেমন JavaScript) থেকে JSON ডেটা PHP সার্ভারে পাঠানো হয়, তখন PHP-তে json_decode() ফাংশন ব্যবহার করা হয়, যা JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করে।

উদাহরণ:

<?php
// JSON ডেটা রিড করা
$jsonData = file_get_contents("php://input");

// JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করা
$data = json_decode($jsonData, true); // `true` দিলে অ্যারে রিটার্ন হবে, না হলে অবজেক্ট রিটার্ন হবে

// JSON ডেটার মান দেখানো
echo "Name: " . $data['name'] . "<br>";
echo "Age: " . $data['age'] . "<br>";
echo "City: " . $data['city'] . "<br>";
?>

এখানে:

  • file_get_contents("php://input"): এটি HTTP রিকোয়েস্ট থেকে JSON ডেটা পড়ার জন্য ব্যবহৃত হয়।
  • json_decode($jsonData, true): এই ফাংশনটি JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করে।

২. JavaScript থেকে JSON ডেটা পাঠানো PHP-তে (AJAX Request)

ধরা যাক, আপনি JavaScript (AJAX) দিয়ে PHP সার্ভারে JSON ডেটা পাঠাতে চান। এটি খুবই সহজ। নিচে একটি উদাহরণ দেওয়া হলো যেখানে JavaScript থেকে JSON ডেটা PHP-তে পাঠানো হচ্ছে।

JavaScript কোড (AJAX ব্যবহার করে):

var data = {
    "name": "John",
    "age": 30,
    "city": "New York"
};

fetch('your_php_file.php', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)  // JSON ডেটাকে স্ট্রিং ফরম্যাটে পাঠানো
})
.then(response => response.json())  // রেসপন্স JSON হিসেবে পার্স করা
.then(data => console.log(data))  // সার্ভার থেকে প্রাপ্ত ডেটা দেখানো
.catch(error => console.log('Error:', error));

এখানে:

  • JSON.stringify(data) দিয়ে JavaScript অবজেক্টটিকে JSON স্ট্রিংয়ে রূপান্তর করা হচ্ছে।
  • fetch() API ব্যবহার করে AJAX রিকোয়েস্ট পাঠানো হচ্ছে এবং PHP থেকে JSON রেসপন্স আসছে।

JSON ডেটা PHP থেকে পেতে


১. PHP-তে JSON রেসপন্স পাওয়া (AJAX)

JavaScript থেকে JSON ডেটা প্রাপ্তি বা PHP সার্ভার থেকে JSON রেসপন্স পাওয়ার জন্য আপনাকে HTTP রিকোয়েস্টের মাধ্যমে JSON ডেটা পাঠাতে হবে। এখানে একটি উদাহরণ দেওয়া হলো যেখানে PHP থেকে JSON রেসপন্স আসছে:

<?php
$data = array(
    "status" => "success",
    "message" => "Data received successfully!"
);
echo json_encode($data);
?>

এটি PHP সার্ভারে প্রেরিত একটি JSON রেসপন্স যা JavaScript বা অন্য কোনো ক্লায়েন্ট সাইডে পাওয়া যাবে।


সারাংশ:

PHP এবং JSON-এর মধ্যে ইন্টিগ্রেশন খুবই সাধারণ এবং শক্তিশালী। JSON ডেটা PHP-তে পাঠানো এবং গ্রহণ করার জন্য json_encode() এবং json_decode() ফাংশনগুলো ব্যবহার করা হয়। JavaScript থেকে AJAX রিকোয়েস্টের মাধ্যমে PHP সার্ভারে JSON ডেটা পাঠানো সম্ভব এবং PHP থেকে JSON ডেটা রেসপন্স হিসেবে পাঠানো যেতে পারে। এই ইন্টিগ্রেশন ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে ডেটা ট্রান্সফার এবং কমিউনিকেশনকে সহজ এবং কার্যকর করে তোলে।

Content added By

PHP তে JSON Data প্রক্রিয়াজাত করা

66
66

PHP তে JSON ডেটা প্রক্রিয়াজাত করা খুবই সাধারণ এবং সহজ। PHP তে JSON ডেটা প্রক্রিয়াজাত করার জন্য দুটি প্রধান ফাংশন ব্যবহার করা হয়:

  1. json_encode() – একটি PHP অ্যারে বা অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করতে।
  2. json_decode() – একটি JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করতে।

1. json_encode() ফাংশন

json_encode() ফাংশনটি PHP অ্যারে বা অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করে। এটি সাধারণত সার্ভারে ডেটা প্রক্রিয়াজাত করার পর ক্লায়েন্টে পাঠানোর জন্য ব্যবহৃত হয়।

ব্যবহার:

<?php
$data = array(
    "name" => "John Doe",
    "age" => 30,
    "city" => "New York"
);

$jsonData = json_encode($data);
echo $jsonData;
?>

এখানে, $data অ্যারে JSON ফরম্যাটে রূপান্তরিত হয়ে $jsonData স্ট্রিং এ পরিণত হবে। আউটপুট হবে:

{"name":"John Doe","age":30,"city":"New York"}

অপশনাল প্যারামিটারস:

json_encode() ফাংশনের কয়েকটি অপশনাল প্যারামিটার রয়েছে:

  • JSON_PRETTY_PRINT: JSON স্ট্রিংকে সুন্দরভাবে ইন্ডেন্ট করা।
  • JSON_UNESCAPED_SLASHES: স্ল্যাশ ("/") কে অ্যানকোড না করে আগের অবস্থায় রেখে দেওয়া।
<?php
$data = array(
    "name" => "John Doe",
    "age" => 30,
    "city" => "New York"
);

$jsonData = json_encode($data, JSON_PRETTY_PRINT);
echo $jsonData;
?>

আউটপুট হবে:

{
    "name": "John Doe",
    "age": 30,
    "city": "New York"
}

2. json_decode() ফাংশন

json_decode() ফাংশনটি JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করে। এটি সাধারণত ক্লায়েন্ট থেকে প্রাপ্ত JSON ডেটা সার্ভারে প্রক্রিয়া করার জন্য ব্যবহৃত হয়।

ব্যবহার:

<?php
$jsonData = '{"name":"John Doe","age":30,"city":"New York"}';

$data = json_decode($jsonData, true);  // true means it will return an associative array
echo $data['name'];  // Output: John Doe
?>

এখানে, json_decode() ফাংশনটি JSON স্ট্রিং $jsonData কে PHP অ্যারে $data এ রূপান্তরিত করেছে এবং তারপর $data['name'] এর মান প্রিন্ট করা হয়েছে।

অপশনাল প্যারামিটারস:

json_decode() ফাংশনটির দুটি প্রধান প্যারামিটার:

  1. $assoc (ডিফল্ট: false): যদি true হয়, তবে এটি JSON অবজেক্টের পরিবর্তে অ্যারে রিটার্ন করবে।
  2. $depth (ডিফল্ট: 512): ডিকোডের গভীরতা, যাতে খুব গভীর JSON স্ট্রাকচার পার্স করার সময় লিমিট নির্ধারণ করা যায়।
  3. $options: নির্দিষ্ট বিকল্প নির্ধারণ করতে, যেমন JSON_BIGINT_AS_STRING যা বড় সংখ্যাগুলিকে স্ট্রিং হিসেবে ডিকোড করে।
<?php
$jsonData = '{"name":"John Doe","age":30,"city":"New York"}';
$data = json_decode($jsonData, false);  // false means it will return an object
echo $data->name;  // Output: John Doe
?>

এখানে, json_decode() ফাংশনটি JSON স্ট্রিং $jsonData কে PHP অবজেক্ট $data এ রূপান্তরিত করেছে এবং তারপর $data->name এর মান প্রিন্ট করা হয়েছে।


3. JSON Error Handling

JSON ডেটা প্রক্রিয়াজাত করার সময় কিছু সমস্যা (যেমন, সঠিক ফরম্যাট না হওয়া) হতে পারে। PHP তে json_last_error() এবং json_last_error_msg() ফাংশন ব্যবহার করে JSON পার্সিং এর ভুলগুলো চেক করা যায়।

<?php
$jsonData = '{"name":"John Doe","age":30,"city":"New York"';  // Invalid JSON
$data = json_decode($jsonData);

if (json_last_error() !== JSON_ERROR_NONE) {
    echo "JSON Error: " . json_last_error_msg();
}
?>

এখানে, অবৈধ JSON স্ট্রিং পার্স করার পর json_last_error() এবং json_last_error_msg() ব্যবহার করে ত্রুটির বার্তা প্রিন্ট করা হয়েছে।


সার্বিক পর্যালোচনা


PHP তে JSON প্রক্রিয়াজাত করার জন্য json_encode() এবং json_decode() ফাংশন দুটি অত্যন্ত গুরুত্বপূর্ণ। json_encode() ব্যবহার করে PHP অ্যারে বা অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করা হয়, যা সাধারণত সার্ভারে ডেটা প্রেরণ করতে ব্যবহৃত হয়। আর json_decode() ব্যবহার করে JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করা হয়, যা সাধারণত ক্লায়েন্ট থেকে প্রাপ্ত ডেটা প্রক্রিয়াজাত করতে ব্যবহৃত হয়।

এছাড়া, JSON error handling ফাংশন ব্যবহার করে JSON ডেটার সমস্যা চেক করা সম্ভব, যা ডেভেলপারদের জন্য গুরুত্বপূর্ণ টুল। JSON ডেটার সাথে কাজ করার মাধ্যমে PHP অ্যাপ্লিকেশনগুলোকে আরও দক্ষ এবং কার্যকরী করা যায়।

Content added By

json_encode() এবং json_decode() এর ব্যবহার

82
82

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() এর ব্যবহার:


  1. ডেটা এক্সচেঞ্জ:
    JSON ফরম্যাটে ডেটা পাঠানো এবং গ্রহণ করার জন্য json_encode() এবং json_decode() ফাংশন ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি যখন একটি ওয়েব API কল করেন, তখন সার্ভার JSON ফরম্যাটে ডেটা রিটার্ন করে এবং ক্লায়েন্ট সেই JSON ডেটাকে PHP অবজেক্ট বা অ্যারে হিসেবে রূপান্তর করে।
  2. ডেটাবেসে JSON সংরক্ষণ:
    ডেটাবেসে JSON স্ট্রিং সংরক্ষণ করতে json_encode() ব্যবহার করা যেতে পারে এবং সেই ডেটাকে পরবর্তীতে ডিকোড করতে json_decode() ব্যবহৃত হয়।
  3. কনফিগারেশন ফাইল:
    JSON কনফিগারেশন ফাইল থেকে ডেটা পড়তে এবং সেই ডেটা PHP অ্যারে বা অবজেক্টে রূপান্তর করার জন্য json_decode() ব্যবহৃত হয়, এবং PHP অ্যারে বা অবজেক্ট থেকে JSON স্ট্রিং তৈরি করতে json_encode() ব্যবহৃত হয়।

সারাংশ


json_encode() এবং json_decode() ফাংশনগুলি PHP তে JSON ডেটা প্রসেস করার জন্য অত্যন্ত গুরুত্বপূর্ণ। json_encode() ফাংশন JSON স্ট্রিং তৈরি করতে ব্যবহৃত হয় এবং json_decode() ফাংশন JSON ডেটাকে PHP অ্যারে বা অবজেক্টে রূপান্তর করতে ব্যবহৃত হয়। এই দুটি ফাংশন ডেটা এক্সচেঞ্জ, API ইন্টিগ্রেশন, এবং ডেটাবেসে JSON সংরক্ষণ করার জন্য ব্যবহার করা হয়।

Content added By

PHP Array থেকে JSON তৈরি করা

58
58

JSON (JavaScript Object Notation) হল একটি জনপ্রিয় ডেটা ফরম্যাট যা সাধারণত ডেটা এক্সচেঞ্জ এবং স্টোরেজের জন্য ব্যবহৃত হয়। PHP তে, একটি অ্যারে (Array) থেকে JSON তৈরি করার জন্য json_encode() ফাংশন ব্যবহার করা হয়। এই ফাংশনটি PHP অ্যারে বা অবজেক্টকে JSON ফরম্যাটে রূপান্তরিত করে, যা পরবর্তী সময়ে API কল, ডেটা ট্রান্সফার বা স্টোরেজে ব্যবহৃত হতে পারে।

PHP Array থেকে JSON তৈরি করার উদাহরণ


ধরা যাক, আপনার কাছে একটি PHP অ্যারে রয়েছে এবং আপনি সেটিকে JSON ফরম্যাটে রূপান্তর করতে চান:

<?php
// PHP অ্যারে
$person = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

// অ্যারে থেকে JSON তৈরি করা
$jsonString = json_encode($person);

// JSON স্ট্রিং আউটপুট দেখানো
echo $jsonString;
?>

এখানে, json_encode() ফাংশনটি PHP অ্যারে $person কে JSON ফরম্যাটে রূপান্তরিত করেছে এবং তারপর echo দ্বারা JSON স্ট্রিংটি আউটপুট করছে।

আউটপুট:

{"name":"John","age":30,"city":"New York"}

json_encode() ফাংশনের অপশনাল প্যারামিটার


json_encode() ফাংশনটি কিছু অতিরিক্ত প্যারামিটার গ্রহণ করতে পারে, যা JSON স্ট্রিং তৈরি করার প্রক্রিয়াকে কাস্টমাইজ করতে সাহায্য করতে পারে:

  1. JSON Constants: JSON এ বিশেষ কনস্ট্যান্ট ব্যবহার করে আপনি কিছু কাস্টম অপশন সেট করতে পারেন, যেমন:
    • JSON_PRETTY_PRINT: JSON স্ট্রিংকে সুন্দরভাবে ফরম্যাট করা, যাতে এটি পড়া সহজ হয়।
    • JSON_UNESCAPED_SLASHES: স্ল্যাশ (/) কে \ দিয়ে এসকেপ না করা।
  2. JSON_OBJECT_AS_ARRAY: আপনি যদি PHP অবজেক্টকে অ্যারে হিসেবে দেখতে চান, তাহলে এই কনস্ট্যান্ট ব্যবহার করতে পারেন।

json_encode() এর বিভিন্ন ব্যবহার


১. JSON_PRETTY_PRINT ব্যবহার করা:

যদি আপনি JSON কে সুন্দরভাবে ফরম্যাট করতে চান, যাতে তা আরো পঠনযোগ্য হয়, তবে JSON_PRETTY_PRINT কনস্ট্যান্ট ব্যবহার করতে পারেন।

<?php
$person = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

// JSON_PRETTY_PRINT ব্যবহার করা
$jsonString = json_encode($person, JSON_PRETTY_PRINT);

// JSON আউটপুট
echo $jsonString;
?>

আউটপুট:

{
    "name": "John",
    "age": 30,
    "city": "New York"
}

এটি JSON স্ট্রিংকে ইনডেন্টেড এবং সুন্দরভাবে প্রদর্শন করবে।


২. JSON_UNESCAPED_SLASHES ব্যবহার করা:

যদি আপনি URL বা অন্যান্য ডেটার মধ্যে স্ল্যাশকে এসকেপ করতে না চান, তাহলে JSON_UNESCAPED_SLASHES ব্যবহার করতে পারেন।

<?php
$person = array(
    "website" => "https://www.example.com"
);

// JSON_UNESCAPED_SLASHES ব্যবহার করা
$jsonString = json_encode($person, JSON_UNESCAPED_SLASHES);

// JSON আউটপুট
echo $jsonString;
?>

আউটপুট:

{"website":"https://www.example.com"}

এখানে, স্ল্যাশটি এসকেপ হয়নি এবং JSON স্ট্রিংয়ে সরাসরি প্রদর্শিত হয়েছে।


৩. JSON_OBJECT_AS_ARRAY ব্যবহার করা:

PHP অবজেক্টকে অ্যারে হিসেবে কনভার্ট করতে JSON_OBJECT_AS_ARRAY ব্যবহার করা যেতে পারে। এটি PHP অবজেক্টকে অ্যারে রূপে রিটার্ন করবে।

<?php
$person = (object) array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

// JSON_OBJECT_AS_ARRAY ব্যবহার করা
$jsonString = json_encode($person, JSON_OBJECT_AS_ARRAY);

// JSON আউটপুট
echo $jsonString;
?>

আউটপুট:

{"name":"John","age":30,"city":"New York"}

এখানে, PHP অবজেক্টকে অ্যারে হিসেবে কনভার্ট করা হয়েছে।


json_encode() এর সীমাবদ্ধতা


  1. Non-UTF-8 Characters: json_encode() শুধুমাত্র UTF-8 এনকোডেড ক্যারেক্টারসমূহ সঠিকভাবে প্রক্রিয়া করতে পারে। যদি আপনার ডেটা অন্য কোনো এনকোডিং-এ থাকে, তবে এটি JSON আউটপুটে ভুল প্রদর্শন করতে পারে।
  2. Circular References: যদি আপনার অ্যারে বা অবজেক্টে circular references থাকে (অর্থাৎ একটি অবজেক্ট বা অ্যারে নিজেই রেফারেন্স করে), তবে json_encode() এটি প্রক্রিয়া করতে পারে না এবং একটি error দিবে।
  3. Resource Types: PHP তে যে কোনো resource টাইপ (যেমন ফাইল হ্যান্ডলারের অবজেক্ট) JSON এ রূপান্তর করা যায় না, এটি null রিটার্ন করবে।

সারাংশ


PHP তে অ্যারে থেকে JSON তৈরি করার জন্য json_encode() ফাংশনটি ব্যবহার করা হয়। এটি PHP অ্যারে বা অবজেক্টকে JSON স্ট্রিং এ রূপান্তরিত করে, যা ডেটা এক্সচেঞ্জ বা স্টোরেজের জন্য ব্যবহৃত হতে পারে। json_encode() কিছু অতিরিক্ত কনস্ট্যান্ট গ্রহণ করতে পারে, যার মাধ্যমে JSON এর আউটপুট কাস্টমাইজ করা যায়, যেমন JSON_PRETTY_PRINT ব্যবহার করে সুন্দরভাবে ফরম্যাট করা বা JSON_UNESCAPED_SLASHES ব্যবহার করে স্ল্যাশ এসকেপ না করা।

Content added By

JSON থেকে PHP Array তে রূপান্তর

46
46

JSON (JavaScript Object Notation) একটি সাধারণ ডেটা ফরম্যাট যা সাধারণত ওয়েব অ্যাপ্লিকেশন এবং API গুলিতে ডেটা এক্সচেঞ্জ করার জন্য ব্যবহৃত হয়। PHP ভাষায় JSON ডেটাকে অ্যারে বা অবজেক্টে রূপান্তর করতে json_decode() ফাংশন ব্যবহার করা হয়।

JSON থেকে PHP Array তে রূপান্তরের প্রক্রিয়া


JSON ডেটাকে PHP অ্যারে (Associative Array) তে রূপান্তর করার জন্য json_decode() ফাংশন ব্যবহার করা হয়। এই ফাংশন JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করে।

json_decode() ফাংশনে দুটি প্রধান প্যারামিটার থাকে:

  1. $json: এটি হল JSON স্ট্রিং।
  2. $assoc: এটি একটি বুলিয়ান মান (true বা false)। যদি এটি true হয়, তাহলে JSON ডেটা PHP অ্যারে তে রূপান্তরিত হবে। যদি false থাকে, তাহলে ডেটা PHP অবজেক্টে রূপান্তরিত হবে।

উদাহরণ


ধরা যাক, আমাদের কাছে একটি JSON স্ট্রিং রয়েছে এবং আমরা সেটি PHP অ্যারে তে রূপান্তর করতে চাই।

JSON স্ট্রিং:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

PHP কোড:

<?php
// JSON স্ট্রিং
$jsonData = '{"name": "John", "age": 30, "city": "New York"}';

// JSON থেকে PHP অ্যারে তে রূপান্তর
$array = json_decode($jsonData, true);

// অ্যারে প্রিন্ট করা
echo "<pre>";
print_r($array);
echo "</pre>";
?>

আউটপুট:

Array
(
    [name] => John
    [age] => 30
    [city] => New York
)

এখানে:

  • json_decode($jsonData, true): JSON স্ট্রিংকে PHP অ্যারে তে রূপান্তরিত করেছে।
  • print_r($array) ব্যবহার করে অ্যারের কনটেন্ট প্রিন্ট করা হয়েছে।

JSON থেকে PHP অ্যারে তে রূপান্তর করার সময় কিছু গুরুত্বপূর্ণ বিষয়


  1. Associative Array: যদি json_decode() ফাংশনে দ্বিতীয় প্যারামিটার true দেওয়া হয়, তাহলে JSON অবজেক্ট PHP অ্যারে রূপান্তরিত হয়, যেখানে কী (key) গুলি অ্যারে ইনডেক্স হিসেবে কাজ করে।
  2. Standard Object: যদি json_decode() ফাংশনে দ্বিতীয় প্যারামিটার false (বা কিছুই দেওয়া না হয়), তাহলে JSON ডেটা একটি PHP স্ট্যান্ডার্ড অবজেক্টে রূপান্তরিত হবে। এর মানে হল যে আপনি অ্যাক্সেস করবেন -> এর মাধ্যমে।

উদাহরণ (PHP Object):

<?php
// JSON স্ট্রিং
$jsonData = '{"name": "John", "age": 30, "city": "New York"}';

// JSON থেকে PHP অবজেক্টে রূপান্তর
$object = json_decode($jsonData);

// অবজেক্ট প্রিন্ট করা
echo "<pre>";
print_r($object);
echo "</pre>";
?>

আউটপুট (PHP Object):

stdClass Object
(
    [name] => John
    [age] => 30
    [city] => New York
)

এখানে, JSON ডেটা stdClass অবজেক্টে রূপান্তরিত হয়েছে, এবং আপনি -> দিয়ে প্রপার্টি অ্যাক্সেস করতে পারবেন।

৩. Nested JSON to PHP Array


যদি JSON ডেটা নেস্টেড (অন্তর্ভুক্ত) অবজেক্ট বা অ্যারে থাকে, তাহলে json_decode() ফাংশন ঠিক মতো কাজ করবে এবং সেই নেস্টেড ডেটাকেও অ্যারে বা অবজেক্টে রূপান্তর করবে।

উদাহরণ:

{
  "name": "John",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "New York"
  }
}

PHP কোড:

<?php
// Nested JSON
$jsonData = '{"name": "John", "age": 30, "address": {"street": "123 Main St", "city": "New York"}}';

// JSON থেকে PHP অ্যারে তে রূপান্তর
$array = json_decode($jsonData, true);

// অ্যারে প্রিন্ট করা
echo "<pre>";
print_r($array);
echo "</pre>";
?>

আউটপুট:

Array
(
    [name] => John
    [age] => 30
    [address] => Array
        (
            [street] => 123 Main St
            [city] => New York
        )
)

এখানে address একটি নেস্টেড অ্যারে হিসেবে প্রদর্শিত হয়েছে।

সারাংশ


JSON ডেটা PHP অ্যারে তে রূপান্তর করা খুবই সহজ এবং কার্যকরী প্রক্রিয়া। json_decode() ফাংশনের মাধ্যমে JSON ডেটা PHP অ্যারে বা অবজেক্টে রূপান্তর করা যায়, যা পরবর্তী ডেটা প্রসেসিং এবং ব্যবহারের জন্য খুবই উপকারী। আপনি যদি অ্যারে চান, তবে দ্বিতীয় প্যারামিটার হিসেবে true প্রদান করুন, আর অবজেক্ট চান, তবে false বা কিছু না লিখলেই হবে। JSON থেকে PHP অ্যারে তে রূপান্তর করা মূলত ওয়েব অ্যাপ্লিকেশন এবং API ডেটা ম্যানিপুলেশনে গুরুত্বপূর্ণ ভূমিকা রাখে।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion