التعامل مع بيانات JSON في PHP

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 02 سبتمبر 2024

محتوى المقال

التعامل مع بيانات JSON في PHP

JSON (JavaScript Object Notation) هو تنسيق خفيف لتبادل البيانات، شائع الاستخدام في تطبيقات الويب لنقل البيانات بين الخادم والعميل. PHP توفر دوال مدمجة للتعامل مع JSON بسهولة. في هذا المقال، سنتعلم كيفية التعامل مع بيانات JSON في PHP، بما في ذلك تحويل البيانات إلى JSON واسترجاعها والتعامل مع البيانات المعقدة.

ما هو JSON؟

JSON هو تنسيق نصي يعتمد على ترميز الكائنات في جافا سكريبت، ويستخدم بشكل شائع لتبادل البيانات بين الأنظمة المختلفة. يتكون JSON من أزواج مفتاح-قيمة، حيث يمكن أن تكون القيم نصوصًا، أرقامًا، قوائم، أو حتى كائنات أخرى.

تحويل البيانات إلى JSON في PHP

لتحويل البيانات إلى تنسيق JSON في PHP، يمكنك استخدام الدالة json_encode. تقوم هذه الدالة بتحويل مصفوفة أو كائن PHP إلى سلسلة JSON.

<?php
// مصفوفة بيانات في PHP
$data = [
   'name' => 'أحمد',
   'age' => 25,
   'city' => 'القاهرة'
];

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

الناتج سيكون:

{"name":"أحمد","age":25,"city":"القاهرة"}

استرجاع بيانات JSON في PHP

لاسترجاع بيانات JSON وتحويلها إلى مصفوفة أو كائن PHP، يمكنك استخدام الدالة json_decode. هذه الدالة تقوم بتحويل سلسلة JSON إلى كائن PHP بشكل افتراضي، ولكن يمكن تحويلها إلى مصفوفة أيضًا باستخدام الوسيط الثاني للدالة.

<?php
// سلسلة JSON
$jsonData = '{"name":"أحمد","age":25,"city":"القاهرة"}';

// تحويل JSON إلى كائن PHP
$data = json_decode($jsonData);
echo $data->name;
echo $data->age;
echo $data->city;
?>

إذا كنت تفضل العمل مع المصفوفات بدلاً من الكائنات، يمكنك تمرير true كوسيط ثاني إلى json_decode:

<?php
// تحويل JSON إلى مصفوفة PHP
$dataArray = json_decode($jsonData, true);
echo $dataArray['name'];
echo $dataArray['age'];
echo $dataArray['city'];
?>

التعامل مع بيانات JSON المعقدة

JSON يمكن أن يحتوي على بيانات معقدة مثل المصفوفات المتداخلة أو الكائنات المتداخلة. PHP قادرة على التعامل مع هذه الأنواع من البيانات بسهولة باستخدام json_encode وjson_decode.

<?php
// مصفوفة بيانات معقدة في PHP
$data = [
   'user' => [
      'name' => 'أحمد',
      'age' => 25,
      'contacts' => [
         'email' => 'ahmed@example.com',
         'phone' => '0123456789'
      ]
   ],
   'preferences' => [
      'language' => 'العربية',
      'timezone' => 'Africa/Cairo'
   ]
];

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

الناتج سيكون:

{"user":{"name":"أحمد","age":25,"contacts":{"email":"ahmed@example.com","phone":"0123456789"}},"preferences":{"language":"العربية","timezone":"Africa/Cairo"}}

يمكنك فك تشفير هذا النوع من البيانات بنفس الطريقة باستخدام json_decode والعمل معها كمصفوفات أو كائنات في PHP.

الخلاصة

التعامل مع بيانات JSON في PHP هو مهارة أساسية لأي مطور ويب. من خلال استخدام json_encode وjson_decode، يمكنك بسهولة تحويل البيانات بين تنسيق JSON وPHP، مما يسهل عملية التفاعل بين تطبيقات الويب والخادم. كما يمكنك معالجة البيانات المعقدة بشكل فعال باستخدام هذه الأدوات المدمجة.

طور مهاراتك: مقالات يجب قراءتها في البرمجة