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، مما يسهل عملية التفاعل بين تطبيقات الويب والخادم. كما يمكنك معالجة البيانات المعقدة بشكل فعال باستخدام هذه الأدوات المدمجة.