In der PHP-Entwicklung ist das Konvertieren von Objekten in JSON-Strings oder JSON-Array-Objekte eine sehr häufige Aufgabe. Sowohl JSON-String- als auch JSON-Array-Objekte sind ein Standard-Datenaustauschformat, das den Datenaustausch zwischen verschiedenen Plattformen und Programmiersprachen ermöglicht und sehr einfach zu lesen und zu analysieren ist.
In diesem Artikel erfahren Sie, wie Sie ein Objekt in einen JSON-String oder ein JSON-Array-Objekt in PHP konvertieren. Wir werden diesen Prozess anhand von Beispielen erläutern und einige häufige Probleme im Zusammenhang mit diesem Prozess diskutieren.
Objekt in JSON-String
In PHP können Objekte über die integrierte Funktion json_encode in JSON-Strings konvertiert werden. Diese Funktion akzeptiert ein Objekt als Argument und gibt seine JSON-String-Darstellung zurück. Das Folgende ist ein Beispiel:
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person('Tom', 27); $jsonString = json_encode($person); echo $jsonString;
Führen Sie den obigen Code aus. Sie können sehen, dass die Ausgabe lautet:
{"name":"Tom","age":27}
Sie können sehen, dass das $person-Objekt erfolgreich in a konvertiert wurde JSON-Zeichenfolge. Im JSON-String wird jede Eigenschaft im Objekt in ein Schlüssel-Wert-Paar umgewandelt und der Schlüssel verwendet den Namen der Eigenschaft.
Es ist zu beachten, dass die Funktion json_encode nicht auf sie zugreifen kann, wenn die Eigenschaften privat oder geschützt sind. Wenn Sie diese Attribute in die JSON-Zeichenfolge einschließen müssen, können Sie in der Klasse eine toArray-Funktion definieren, um die zu exportierenden Attribute in ein assoziatives Array zu konvertieren, und dieses Array dann an die Funktion json_encode übergeben.
class Person { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function toArray() { return array( 'name' => $this->name, 'age' => $this->age ); } } $person = new Person('Tom', 27); $jsonString = json_encode($person->toArray()); echo $jsonString;
Führen Sie den obigen Code aus. Sie können sehen, dass das Ausgabeergebnis immer noch lautet:
{"name":"Tom","age":27}
Objekt zu JSON-Array-Objekt
#🎜 🎜#Zusätzlich zur Konvertierung des Objekts in einen JSON-String können Sie es auch in ein JSON-Array-Objekt konvertieren. Beim Konvertieren eines Objekts in ein JSON-Array-Objekt wird jede Eigenschaft in ein Schlüssel-Wert-Paar umgewandelt und der Schlüssel verwendet den Namen der Eigenschaft. In PHP können Sie das Objekt in ein JSON-Array-Objekt konvertieren, indem Sie das Objekt in ein Array konvertieren und das Array dann an die Funktion json_encode übergeben. Das Folgende ist ein Beispiel:class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person('Tom', 27); $jsonArray = json_encode((array)$person); echo $jsonArray;
{"name":"Tom","age":27}
FAQ
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person('李四', 27); $jsonString = json_encode($person->toArray(), JSON_UNESCAPED_UNICODE); echo $jsonString;
{"name":"李四","age":27}
Das obige ist der detaillierte Inhalt vonPHP-Objekt in JSON-String-Array-Objekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!