English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
PHP5.2.0 und höher haben die JSON-Erweiterung integriert.
PHP verfügt über folgende eingebaute Funktionen zum Verarbeiten von JSON:
Funktion | Beschreibung |
---|---|
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 |
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‹/›
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"]."."; ?>