Heim >Backend-Entwicklung >PHP-Tutorial >Konvertieren Sie das Objekt in eine JSON-Zeichenfolge

Konvertieren Sie das Objekt in eine JSON-Zeichenfolge

不言
不言Original
2018-07-07 11:44:486863Durchsuche

Dieser Artikel stellt hauptsächlich die Konvertierung von Objekten in JSON-Strings vor, die einen gewissen Referenzwert haben. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.

Definieren Sie eine Schülerklasse:

1 class Student {
2     public $name;
3     public $age;
4     function __construct($name, $age) {
5         $this->name = $name;
6         $this->age = $age;
7     }
8 }

Erstellen Sie zu diesem Zeitpunkt ein neues Objekt und geben Sie es direkt wieder: 1 $person1 = new Student('jack', 20); 2 echo $person1;

Das Ergebnis wird nicht gedruckt als Wir haben erwartet, dass anstelle des Verlassens des Objekts ein schwerwiegender Fehler gemeldet wird:

bedeutet, dass das von der Student-Klasse instanziierte Objekt nicht in eine Zeichenfolge konvertiert werden kann Nachricht: echo Es muss eine Zeichenfolge folgen,

, andernfalls wird es automatisch in eine Zeichenfolge umgewandelt. Wie konvertiert man also ein Objekt in eine Zeichenfolge?

Führen Sie zunächst eine magische Methode ein: __tostring(). Diese Methode wird verwendet, um zu bestimmen, wie eine Klasse reagieren soll, wenn sie als String behandelt wird. Beispielsweise sollte echo $obj;

was anzeigen. Diese Methode muss eine Zeichenfolge zurückgeben, andernfalls wird ein schwerwiegender Fehler der Ebene E_RECOVERABLE_ERROR ausgegeben.

Fügen Sie diese magische Methode zur Student-Klasse hinzu:

 1 class Student { 
 2      public $name; 
 3      public $age; 
 4      function __construct($name, $age) { 
 5           $this->name = $name; 
 6           $this->age = $age; 
 7      } 
 8      function __tostring() { 
 9           return json_encode($this, JSON_FORCE_OBJECT);
 10      }
 11 }

Die Methode json_encode(value, options) kann ein Objekt in JSON-Zeichen konvertieren. String, Diese Methode akzeptiert zwei Parameter:

Der erste Parameter: Wert
Der zu codierende Wert kann mit Ausnahme des Ressourcentyps ein beliebiger Datentyp sein
Diese Funktion kann nur UTF-8-codierte Daten akzeptieren

Zweiter Parameter: 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, JSON_UNESCAPED_UNI CODE.

Rückgabewert: Gibt eine Zeichenfolge zurück Wird im JSON-Format dargestellt, wenn die Kodierung erfolgreich ist, oder gibt bei einem Fehler FALSE zurück.

Hinweis: Im Vergleich zur json_encode-Methode gibt es die json_decode-Methode. Diese Methode kann eine JSON-Formatzeichenfolge in eine PHP-Variable konvertieren. Diese Methode akzeptiert zwei Parameter Der erste Parameter: JSON-String

Der zweite Parameter: wahr/falsch, wenn wahr, bedeutet dies, dass die Zeichenfolge in ein Array konvertiert wird, wenn er falsch ist, bedeutet dies Konvertierung ist ein Objekt, der Standardwert ist false

Rückgabewert: Objekt oder Array (wenn der zweite Parameter wahr ist)

Sie können es im Browser öffnen Stellen Sie zu diesem Zeitpunkt sicher, dass die Konvertierung erfolgreich ist:

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Bitte achten Sie auf die chinesische PHP-Website!

Verwandte Empfehlungen:

So kompilieren und installieren Sie den PHP-Redis-Dienst

PHP-Quellcode-Datenbank und Tabellenerstellung – Konfigurationsdatei – Fehler log-Methode


Das obige ist der detaillierte Inhalt vonKonvertieren Sie das Objekt in eine JSON-Zeichenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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