PHP:
การทำงานกับ JSON

วิธีการ:

การดำเนินงานกับ JSON ใน PHP นั้นตรงไปตรงมาด้วยการใช้ฟังก์ชันที่มีอยู่ในตัวเองคือ json_encode() และ json_decode() ด้านล่างนี้เป็นตัวอย่างที่แสดงวิธีการแปลงอาร์เรย์ PHP เป็นสตริง JSON และในทางกลับกัน:

การเข้ารหัสอาร์เรย์ PHP เป็นสตริง JSON

// กำหนดอาร์เรย์แบบ associative
$data = [
    "name" => "John Doe",
    "age" => 30,
    "email" => "[email protected]"
];

// แปลงอาร์เรย์ PHP เป็นสตริง JSON
$jsonString = json_encode($data);

// แสดงสตริง JSON
echo $jsonString;

ตัวอย่างผลลัพธ์:

{"name":"John Doe","age":30,"email":"[email protected]"}

การถอดรหัสสตริง JSON เป็นอาร์เรย์ PHP

// สตริง JSON
$jsonString = '{"name":"John Doe","age":30,"email":"[email protected]"}';

// แปลงสตริง JSON เป็นอาร์เรย์ PHP
$data = json_decode($jsonString, true);

// แสดงอาร์เรย์ PHP
print_r($data);

ตัวอย่างผลลัพธ์:

Array
(
    [name] => John Doe
    [age] => 30
    [email] => [email protected]
)

การทำงานกับไลบรารีภายนอก: GuzzleHttp

สำหรับการจัดการข้อมูล JSON และคำขอเว็บที่ซับซ้อน ไลบรารี PHP ที่ได้รับความนิยมคือ GuzzleHttp มันทำให้การร้องขอ HTTP เป็นเรื่องง่ายและสามารถทำงานกับข้อมูล JSON ได้ง่าย

การติดตั้งผ่าน Composer:

composer require guzzlehttp/guzzle

ตัวอย่างการร้องขอ:

require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client();

// สร้างคำขอไปยัง API ที่ส่งคืนข้อมูล JSON
$response = $client->request('GET', 'https://api.example.com/data', [
    'headers' => [
        'Accept' => 'application/json',
    ],
]);

// ถอดรหัสการตอบกลับ JSON เป็นอาร์เรย์ PHP
$data = json_decode($response->getBody(), true);

// แสดงข้อมูล
print_r($data);

ถ้าสมมติว่า API ส่งคืนข้อมูล JSON ที่คล้ายกัน:

Array
(
    [name] => John Doe
    [age] => 30
    [email] => [email protected]
)

นี่แสดงให้เห็นถึงความง่ายในการใช้ PHP สำหรับการจัดการ JSON ทั้งด้วยฟังก์ชันพื้นฐานและด้วยไลบรารีที่มีความสามารถเช่น GuzzleHttp สำหรับงานที่ซับซ้อนยิ่งขึ้น