142- دروس جافا سكربت – JSON PHP

### JSON وPHP: شرح مفصل مع أمثلة في JavaScript

#### ما هو JSON؟

JSON (JavaScript Object Notation) هو صيغة خفيفة لتبادل البيانات. يتميز بأنه سهل القراءة والكتابة للبشر وسهل التحليل والتوليد للآلات. يُستخدم JSON بشكل واسع في تطبيقات الويب لتبادل البيانات بين العميل والخادم.

#### كيفية تمثيل JSON

يتم تمثيل JSON باستخدام أزواج من المفاتيح والقيم. يمكن أن تكون القيم عبارة عن أرقام، نصوص، مصفوفات، كائنات، قيم منطقية، أو حتى قيم `null`.

مثال على JSON:

on
{
  "name": "Ali",
  "age": 25,
  "isStudent": false,
  "courses": ["Mathematics", "Physics"],
  "address": {
    "city": "Riyadh",
    "country": "Saudi Arabia"
  }
}

#### استخدام JSON في PHP

PHP توفر دوال مدمجة للتعامل مع JSON، مثل `json_encode()` و`json_decode()`.

– **`json_encode()`**: تُستخدم لتحويل مصفوفة أو كائن PHP إلى سلسلة JSON.
– **`json_decode()`**: تُستخدم لتحويل سلسلة JSON إلى مصفوفة أو كائن PHP.

##### مثال على استخدام JSON في PHP

<?php
$data = [
    "name" => "Ali",
    "age" => 25,
    "isStudent" => false,
    "courses" => ["Mathematics", "Physics"],
    "address" => [
        "city" => "Riyadh",
        "country" => "Saudi Arabia"
    ]
];

// تحويل المصفوفة إلى JSON
$jsonData = json_encode($data);
echo $jsonData;

// تحويل JSON إلى مصفوفة PHP
$arrayData = json_decode($jsonData, true);
print_r($arrayData);
?>

#### [شركة برمجة مصرية] استخدام JSON في JavaScript

JavaScript تتعامل بشكل ممتاز مع JSON لأنها بنيت على أساس JSON. هنا نستخدم `JSON.stringify()` لتحويل كائن JavaScript إلى سلسلة JSON، و`JSON.parse()` لتحويل سلسلة JSON إلى كائن JavaScript.

##### مثال على استخدام JSON في JavaScript

// كائن JavaScript
const data = {
  name: "Ali",
  age: 25,
  isStudent: false,
  courses: ["Mathematics", "Physics"],
  address: {
    city: "Riyadh",
    country: "Saudi Arabia"
  }
};

// تحويل الكائن إلى JSON
const jsonData = JSON.stringify(data);
console.log(jsonData);

// تحويل JSON إلى كائن JavaScript
const parsedData = JSON.parse(jsonData);
console.log(parsedData);

#### التفاعل بين PHP وJavaScript باستخدام JSON

عادةً ما يتم استخدام JSON لتبادل البيانات بين الخادم (الذي قد يكون مكتوبًا بـPHP) والعميل (JavaScript في المتصفح).

##### مثال على التفاعل

**PHP (الخادم):**

<?php
$data = [
    "status" => "success",
    "message" => "Data retrieved successfully",
    "data" => [
        "name" => "Ali",
        "age" => 25
    ]
];

header('Content-Type: application/json');
echo json_encode($data);
?>

**JavaScript [شركة برمجة مصرية] (العميل):**

fetch('path/to/php/script.php')
  .then(response => response.json())
  .then(data => {
    if (data.status === "success") {
      console.log(data.message);
      console.log(data.data);
    } else {
      console.error("Error fetching data");
    }
  })
  .catch(error => console.error('Fetch error:', error));

في هذا المثال، يقوم PHP بإرجاع بيانات JSON، والتي يقوم JavaScript بتحليلها واستخدامها في التطبيق.

### الخلاصة

JSON هو أداة قوية ومرنة لتبادل البيانات بين مختلف الأنظمة، وPHP وJavaScript يوفران دعمًا ممتازًا للتعامل مع JSON. سواء كنت تعمل على تطوير تطبيق ويب كامل أو تحتاج فقط إلى تبادل بسيط للبيانات، فإن JSON هو الخيار الأمثل.