PHP:
עבודה עם JSON

איך לעשות:

עבודה עם JSON ב-PHP פשוטה הודות לפונקציות המובנות json_encode() ו-json_decode(). להלן דוגמאות המציגות איך להמיר מערך PHP למחרוזת JSON, ולהיפך:

קידוד מערך PHP למחרוזת JSON

// הגדרת מערך אסוציאטיבי
$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 למשימות מורכבות יותר.