JSON কী এবং কিভাবে কাজ করে?

JSON এবং PHP MySQL Integration - পিএইচপি মাইএসকিউএল আই (PHP MySQL) - Database Tutorials

359

JSON (JavaScript Object Notation) হলো একটি হালকা-weighted, পাঠযোগ্য, এবং মানব-স্বাভাবিক ডেটা বিনিময়ের ফর্ম্যাট। এটি মূলত JavaScript প্রোগ্রামিং ভাষার একটি সাবসেট, তবে বর্তমানে প্রায় সব প্রোগ্রামিং ভাষায় JSON ব্যবহার করা যায়। PHP এবং MySQL এ JSON সাধারণত ডেটাবেসে ডেটা স্টোর এবং ট্রান্সফার করার জন্য ব্যবহৃত হয়। এটি মূলত স্ট্রাকচারড ডেটাকে একটি সহজ এবং সহজে প্রক্রিয়াজাত করা ফর্ম্যাটে রূপান্তর করে।


১. JSON এর মৌলিক ধারণা

JSON মূলত দুটি ডেটা ফরম্যাট নিয়ে কাজ করে:

  • অবজেক্ট: একটি অর্ডারড ডেটা সংগ্রহ, যা কীগুলোর সাথে মান (key-value pairs) ধারণ করে। উদাহরণ:

    {
      "name": "John Doe",
      "age": 30,
      "city": "New York"
    }
    
  • অ্যারে: একাধিক মানের তালিকা, যা ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়। উদাহরণ:

    [ "apple", "banana", "cherry" ]
    

২. JSON এবং MySQL

MySQL 5.7 এবং তার পরবর্তী সংস্করণে JSON ডেটা টাইপ এবং ফাংশনালিটি যোগ করা হয়েছে। MySQL-এ JSON ডেটা স্টোর করার জন্য একটি বিশেষ ডেটা টাইপ রয়েছে, যা আপনাকে JSON ডেটাকে ডেটাবেসে সঞ্চয় এবং অনুসন্ধান করতে সাহায্য করে।

২.১ MySQL-এ JSON ফিল্ড তৈরি করা

MySQL-এ JSON ডেটা টাইপ ব্যবহার করতে হলে, আপনি একটি টেবিল তৈরি করার সময় JSON টাইপ ব্যবহার করতে পারেন। উদাহরণ:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    profile JSON
);

এখানে, profile ফিল্ডটি JSON টাইপ হিসেবে ডিফাইন করা হয়েছে, যা ব্যবহারকারীর সম্পর্কিত JSON ডেটা ধারণ করবে।

২.২ JSON ডেটা ইনসার্ট করা

MySQL-এ JSON ডেটা ইনসার্ট করার জন্য আপনাকে JSON ডেটাকে সঠিকভাবে ফরম্যাটে ইনপুট করতে হবে। উদাহরণ:

INSERT INTO users (name, profile) 
VALUES ('John Doe', '{"age": 30, "city": "New York", "skills": ["PHP", "JavaScript"]}');

এখানে, profile ফিল্ডে একটি JSON অবজেক্ট ইনসার্ট করা হয়েছে।

২.৩ JSON ডেটা সিলেক্ট করা

JSON ডেটা কুয়েরি করার জন্য MySQL-এ JSON_EXTRACT() অথবা -> অপারেটর ব্যবহার করা হয়। উদাহরণ:

SELECT name, JSON_EXTRACT(profile, '$.age') AS age FROM users;

অথবা:

SELECT name, profile->'$.age' AS age FROM users;

এখানে, profile->'$.age' ব্যবহার করে JSON ডেটা থেকে age মানটি বের করা হয়েছে।


৩. PHP এবং JSON এর সাথে কাজ করা

PHP JSON ডেটাকে এনকোড এবং ডিকোড করতে বিভিন্ন বিল্ট-ইন ফাংশন সরবরাহ করে। এর মধ্যে প্রধান দুটি ফাংশন হলো:

  • json_encode(): PHP অ্যারে বা অবজেক্টকে JSON স্ট্রিং-এ রূপান্তর করে।
  • json_decode(): JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করে।

৩.১ PHP-এ JSON এনকোড করা

PHP-এ একটি অ্যারে বা অবজেক্টকে JSON-এ রূপান্তর করতে json_encode() ফাংশন ব্যবহার করা হয়। উদাহরণ:

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

// JSON এনকোড করা
$json_data = json_encode($user);
echo $json_data;
?>

আউটপুট:

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

৩.২ PHP-এ JSON ডিকোড করা

PHP-এ JSON স্ট্রিংকে অ্যারে বা অবজেক্টে রূপান্তর করতে json_decode() ফাংশন ব্যবহার করা হয়। উদাহরণ:

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

// JSON ডিকোড করা
$user = json_decode($json_data, true); // true দিয়ে অ্যারে আকারে রিটার্ন করা
echo $user['name'];  // John Doe
?>

এখানে, json_decode() ফাংশন JSON স্ট্রিংকে PHP অ্যারে-এ রূপান্তর করেছে এবং আমরা name কিওয়ারি দিয়ে ব্যবহারকারীর নামটি এক্সেস করেছি।


৪. PHP এবং MySQL এ JSON ডেটা ইন্টিগ্রেশন

PHP এবং MySQL এ JSON ডেটা একসাথে ব্যবহার করতে, PHP থেকে JSON স্ট্রিং তৈরি করা হয় এবং সেটি MySQL ডেটাবেসে ইনসার্ট করা হয় বা আপডেট করা হয়।

৪.১ PHP-এ JSON ডেটা MySQL-এ ইনসার্ট করা

<?php
$conn = new mysqli("localhost", "root", "", "my_database");

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$name = "John Doe";
$profile = json_encode(array(
    "age" => 30,
    "city" => "New York",
    "skills" => ["PHP", "JavaScript"]
));

// ইনসার্ট কুয়েরি
$sql = "INSERT INTO users (name, profile) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $name, $profile);
$stmt->execute();

echo "New record created successfully";

$stmt->close();
$conn->close();
?>

এখানে, PHP-এর json_encode() ফাংশন ব্যবহার করে একটি অ্যারে JSON-এ রূপান্তরিত করা হয়েছে এবং তারপর সেটি MySQL ডেটাবেসে ইনসার্ট করা হয়েছে।

৪.২ PHP-এ MySQL থেকে JSON ডেটা রিট্রিভ করা

<?php
$conn = new mysqli("localhost", "root", "", "my_database");

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT profile FROM users WHERE name = 'John Doe'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $profile = json_decode($row['profile'], true); // JSON ডিকোড করা
        echo "Age: " . $profile['age'] . "<br>";
        echo "City: " . $profile['city'] . "<br>";
        echo "Skills: " . implode(", ", $profile['skills']) . "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?>

এখানে, MySQL ডেটাবেস থেকে JSON ডেটা রিট্রিভ করা হয়েছে এবং PHP-এ json_decode() ব্যবহার করে সেই ডেটা অ্যারে আকারে পাওয়া গেছে।


৫. JSON এর সুবিধা

  1. পাঠযোগ্যতা: JSON ডেটা সহজে পড়া যায় এবং এটি কমপ্যাক্ট ও হালকা হয়।
  2. স্ট্যান্ডার্ড: JSON হল একটি স্ট্যান্ডার্ড ফর্ম্যাট, যা বিভিন্ন প্ল্যাটফর্ম এবং ভাষায় সমর্থিত।
  3. ডাইনামিক ডেটা: JSON ডেটা খুবই ফ্লেক্সিবল, আপনি সহজে ডেটা পরিবর্তন করতে পারেন।
  4. ডেটা এক্সচেঞ্জ: এটি ডেটা এক্সচেঞ্জের জন্য জনপ্রিয়, বিশেষ করে ওয়েব অ্যাপ্লিকেশন এবং API তে।

PHP এবং MySQL-এ JSON ব্যবহারে ডেটা স্টোর এবং ট্রান্সফার আরও সহজ ও কার্যকরী হয়ে ওঠে। JSON ডেটা বিভিন্ন সিস্টেমের মধ্যে যোগাযোগের জন্য একটি আদর্শ ফরম্যাট হিসেবে বিবেচিত হয়। PHP এবং MySQL একে সঠিকভাবে ব্যবহার করে ডেটাবেসে সঞ্চিত ডেটা প্রক্রিয়া, স্টোর এবং রিট্রিভ করা অনেক সহজ হয়ে যায়।

Content added By
Promotion

Are you sure to start over?

Loading...