Derzeit ist JSON zu einem der beliebtesten Datenaustauschformate geworden und wird von fast allen APIs großer Websites unterstützt.
In diesem Kapitel stellen wir vor, wie man die PHP-Sprache zum Kodieren und Dekodieren von JSON-Objekten verwendet.
Ab Version 5.2 stellt PHP nativ die Funktionen json_encode() und json_decode() bereit, wobei ersteres zum Kodieren und letzteres zum Dekodieren verwendet wird.
Funktion Beschreibung Variable
json_last_error Gibt den zuletzt aufgetretenen Fehler zurück
1. json_encode()
PHP json_encode ( ) wird zum JSON-Codieren von Variablen verwendet. Diese Funktion gibt bei erfolgreicher Ausführung JSON-Daten zurück, andernfalls gibt sie FALSE zurück.
string json_encode ( $value [, $options = 0 ] )
Optionen: Binärmaske bestehend aus den folgenden Konstanten: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT,
JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
Schauen wir uns zunächst eine Array-Konvertierung an Beispiel:
Das Ergebnis ist$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr);
{"a":1,"b":2,"c":3,"d":4,"e":5}
$obj->body = 'another post'; $obj->id = 21; $obj->approved = true; $obj->favorite_count = 1; $obj->status = NULL; echo json_encode($obj);
{ "body":"another post", "id":21, "approved":true, "favorite_count":1, "status":null }
mixed json_decode ($json [,$assoc = false [, $ Depth = 512 [, $options = 0 ]]])
Parameter
json_string: Zu dekodierende JSON-Zeichenfolge, muss UTF-8-kodierte Daten sein
assoc: Wenn dieser Parameter TRUE ist, wird ein Array zurückgegeben, und wenn FALSE, wird ein Objekt zurückgegeben.
Tiefe: Parameter vom Typ Integer, der die Rekursionstiefe angibt.
Optionen: Binärmaske, derzeit wird nur JSON_BIGINT_AS_STRING unterstützt.
BeispielDas folgende Beispiel zeigt, wie JSON-Daten dekodiert werden:
Das Ausführungsergebnis der obigen Ausführungen Code ist: