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 สำหรับงานที่ซับซ้อนยิ่งขึ้น