Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich PHP-Objekte mit privaten Mitgliedern in JSON kodieren?

Wie kann ich PHP-Objekte mit privaten Mitgliedern in JSON kodieren?

Mary-Kate Olsen
Freigeben: 2024-11-24 18:25:12
Original
1074 Leute haben es durchsucht

How Can I Encode PHP Objects with Private Members to JSON?

PHP-Objekte mit privaten Mitgliedern mithilfe von JSON kodieren

Beim Kodieren von PHP-Objekten in JSON können Probleme auftreten, wenn die Objekte private Mitglieder enthalten. Standardmäßig ist auf private Mitglieder außerhalb der Klasse kein Zugriff möglich.

Funktionen und private Mitglieder kodieren

Der bereitgestellte Codeausschnitt veranschaulicht eine benutzerdefinierte Kodierungsfunktion, die die Eigenschaften des Objekts durchläuft und speichert sie in einem $json-Objekt. Dieser Ansatz weist jedoch Einschränkungen auf, wenn das Objekt verschachtelte Objekte enthält.

JsonSerializable-Schnittstelle implementieren

Um diese Herausforderung zu meistern, wird empfohlen, die JsonSerializable-Schnittstelle zu implementieren. Diese Schnittstelle definiert eine Methode, jsonSerialize, mit der Sie die Daten steuern können, die serialisiert werden.

Anpassen der Serialisierung

Durch die Implementierung von jsonSerialize können Sie angeben, welche Eigenschaften sein sollen in der JSON-Darstellung enthalten. Der folgende Code zeigt, wie diese Schnittstelle implementiert und die gewünschten Daten zurückgegeben wird:

class Item implements \JsonSerializable {
    private $var;
    private $var1;
    private $var2;

    public function __construct() {
        // ...
    }

    public function jsonSerialize() {
        $vars = get_object_vars($this);

        return $vars;
    }
}
Nach dem Login kopieren

Verwendung von json_encode

Sobald die jsonSerialize-Methode implementiert ist, serialisiert json_encode die korrekt Objekt, einschließlich privater Mitglieder, wie in Ihrer jsonSerialize-Implementierung angegeben.

Das obige ist der detaillierte Inhalt vonWie kann ich PHP-Objekte mit privaten Mitgliedern in JSON kodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage