English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP JSON

من المعتاد استخدام JSON لارسال بيانات إلى خادم الويب أو قراءتها من خادم الويب، وعرض البيانات في صفحة الويب.

هذا الفصل يشرح كيفية تبادل بيانات JSON بين العميل والخادم PHP.

وظائف JSON في PHP

PHP5.2.0 و أعلى إصداراته تحتوي على امتداد JSON مدمج.

يملك PHP دوالًا مدمجة لتعامل JSON:

وظيفةوصف
json_encode()تُرجع شكل JSON للقيمة
json_decode()تحليل سلسلة JSON
json_last_error()تُرجع الأخطاء التي حدثت مؤخرًا

دالة json_encode()

يمكن استخدام دالة PHP لتحويل Object PHP إلى JSON json_encode().

يتم حفظ الملف المحدد بـ json_demo1.php:

  <?php
  $myObj = new stdClass();
  $myObj->name = "Seagull";
  $myObj->age = 22;
  $myObj->city = "New Delhi";
  $myJSON = json_encode($myObj); /* تحويل Object PHP إلى سلسلة JSON */
  
  echo $myJSON;
  ?>

في هذا المثال، يتم طلب ملف PHP من المثال السابق (json_demo1.php) ثم تحويل الاستجابة إلى Object JavaScript باستخدام JSON.parse():

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   إذا (this.readyState === 4 && this.status === 200) {
      var myObj = JSON.parse(this.responseText); // تحويل سلسلة JSON إلى Object
      document.getElementById("output").innerHTML = myObj.name;
   }
};
httpRequest.open("GET", "json_demo1.php", true);
httpRequest.send();
التحقق من ذلك‹/›

يمكن استخدام دالة PHP لتحويل مصفوفة PHP إلى JSON json_encode().

يتم حفظ الملف المحدد بـ json_demo2.php:

  <?php
  $myArr = array("Seagull", "Cynthia", "Tarush");
  $myJSON = json_encode($myArr); /* تحويل مصفوفة PHP إلى سلسلة JSON */
  
  echo $myJSON;
  ?>

في هذا المثال، يتم طلب ملف PHP من المثال السابق (json_demo2.php) ثم تحويل الاستجابة إلى مصفوفة JavaScript باستخدام JSON.parse():

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   إذا (this.readyState === 4 && this.status === 200) {
      var myArr = JSON.parse(this.responseText); // تحويل سلسلة JSON إلى مصفوفة
      document.getElementById("output").innerHTML = myArr[0];
   }
};
httpRequest.open("GET", "json_demo2.php", true);
httpRequest.send();
التحقق من ذلك‹/›

وظيفة json_decode()

يمكن استخدام function لتحويل سلسلة JSON إلى موضوع PHP json_decode().

يتم حفظ الملف المحدد من قبل json_demo.php:

  <?php
  $q = $_REQUEST["q"]; // الحصول على معامل q من URL
  $obj = json_decode($q, false); // تحويل سلسلة JSON إلى موضوع PHP
  echo $obj->name."  يعيش في  ".$obj->city.".";
  ?>

في هذا المثال، يتم تحويل موضوع JavaScript إلى سلسلة JSON وإرسالها إلى الخادم (demo_json.php):

var myObj = {name: "Seagull", age: 22, city: "New Delhi"};
var myJSON = JSON.stringify(myObj);
window.location = "json_demo.php?q=" + myJSON;
التحقق من ذلك‹/›

يمكن استخدام function لتحويل سلسلة JSON إلى مصفوفة PHP json_decode().

<?php
$q = $_REQUEST["q"]; // الحصول على معامل q من URL
$arr = json_decode($q, true); // تحويل سلسلة JSON إلى مصفوفة PHP
echo $arr["name"]."  يعيش في  ".$arr["city"].".";
?>