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

JSON PHP

Eine häufige Verwendung von JSON ist das Senden von Daten an den Webserver/Daten vom Webserver lesen und in der Webseite anzeigen

Dieses Kapitel beschreibt, wie JSON-Daten zwischen Client und PHP-Server ausgetauscht werden.

PHP JSON-Funktionen

PHP5.2.0 und höher haben die JSON-Erweiterung integriert.

PHP verfügt über folgende eingebaute Funktionen zum Verarbeiten von JSON:

FunktionBeschreibung
json_encode()Gibt die JSON-Repräsentation des Werts zurück
json_decode()JSON-String analysieren
json_last_error()Gibt den letzten Fehler zurück

json_encode() Funktion

Die Verwendung der PHP-Funktion json_encode() ermöglicht die Konvertierung von PHP-Objekten in JSON.

Die angegebene Datei ist json_demo1.php speichern:

  <?php
  $myObj = new stdClass();
  $myObj->name = "Seagull";
  $myObj->age = 22;
  $myObj->city = "New Delhi";
  $myJSON = json_encode($myObj);  /* Konvertierung eines PHP-Objekts in einen JSON-String */
  
  echo $myJSON;
  ?>

Das folgende Beispiel basiert auf dem obigen Beispiel, um das PHP-Dokument (json_demo1.php) und dann die Konvertierung der Antwort in ein JavaScript-Object mit JSON.parse():

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   if (this.readyState === 4 && this.status === 200) {
      var myObj = JSON.parse(this.responseText); // Konvertierung eines JSON-Strings in ein Object
      document.getElementById("output").innerHTML = myObj.name;
   }
});
httpRequest.open("GET", "json_demo1.php", true);
httpRequest.send();
Testen Sie heraus‹/›

Durch die Verwendung der PHP-Funktion wird auch das PHP-Array in JSON konvertiert json_encode().

Die angegebene Datei ist json_demo2.php speichern:

  <?php
  $myArr = array("Seagull", "Cynthia", "Tarush");
  $myJSON = json_encode($myArr);  /* Konvertierung eines PHP-Arrays in einen JSON-String */
  
  echo $myJSON;
  ?>

Das folgende Beispiel basiert auf dem obigen Beispiel (json_demo2Anfrage auf das PHP-Dokument (.php) und dann die Konvertierung der Antwort in ein JavaScript-Array mit JSON.parse():

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   if (this.readyState === 4 && this.status === 200) {
      var myArr = JSON.parse(this.responseText); // JSON-Zeichenkette in Array umwandeln
      document.getElementById("output").innerHTML = myArr[0];
   }
});
httpRequest.open("GET", "json_demo2.php", true);
httpRequest.send();
Testen Sie heraus‹/›

json_decode() Funktion

Eine JSON-Zeichenkette kann in ein PHP-Objekt umgewandelt werden, indem die Funktion json_decode() verwendet wird.

Die angegebene Datei wird von json_demo.php gespeichert:

  <?php
  $q = $_REQUEST["q"];  // q-Parameter von der URL erhalten
  $obj = json_decode($q, false); // JSON-Zeichenkette in PHP-Objekt umwandeln
  echo $obj->name." 居住在 ".$obj->city.".";
  ?>

Der folgende Beispiel konvertiert ein JavaScript-Objekt in eine JSON-Zeichenkette und sendet sie an den Server (demo_json.php):

var myObj = {name: "Seagull", age: 22, city: "New Delhi"};
var myJSON = JSON.stringify(myObj);
window.location = "json_demo.php?q=" + myJSON;
Testen Sie heraus‹/›

Man kann mit der Funktion JSON-Zeichenkette in PHP-Array umwandeln json_decode().

<?php
$q = $_REQUEST["q"];  //q-Parameter von der URL erhalten
$arr = json_decode($q, true); // JSON-Zeichenkette in PHP-Array umwandeln
echo $arr["name"]." 居住在 ".$arr["city"].".";
?>