Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich beim Dekodieren von JSON die Fehlermeldung „Objekt vom Typ stdClass kann nicht als Array verwendet werden'?

Warum erhalte ich beim Dekodieren von JSON die Fehlermeldung „Objekt vom Typ stdClass kann nicht als Array verwendet werden'?

Barbara Streisand
Freigeben: 2024-12-17 11:42:25
Original
524 Leute haben es durchsucht

Why am I Getting the

Verstehen des Fehlers: „Objekt vom Typ stdClass kann nicht als Array verwendet werden“

Beim Versuch, eine JSON-Zeichenfolge zu dekodieren, kann es vorkommen, dass Sie auf Folgendes stoßen: Fehler „Schwerwiegender Fehler: Objekt vom Typ stdClass kann nicht als Array verwendet werden.“ Dieser Fehler tritt auf, wenn Sie versuchen, die Ausgabe der Funktion json_decode() als Array statt als Objekt zu behandeln.

Die Lösung: Verwendung der Funktion json_decode() mit echtem zweiten Argument

Die Funktion json_decode() stellt ein optionales zweites Argument bereit, mit dem Sie angeben können, ob die Ausgabe als Array oder als Objekt zurückgegeben werden soll. Standardmäßig gibt json_decode() ein Objekt zurück.

Um den JSON-String in ein Array zu dekodieren, müssen wir das zweite Argument auf true setzen. Hier ist der korrigierte Code:

$result = json_decode($jsondata, true);
Nach dem Login kopieren

Zugriff auf Array-Schlüssel

Sobald der JSON-String in ein Array dekodiert wurde, können Sie mithilfe von Array-Schlüsseln auf seine Elemente zugreifen. Wenn Ihr Array beispielsweise einen Schlüssel namens „Ergebnis“ enthält, können Sie wie folgt darauf zugreifen:

print_r($result['Result']);
Nach dem Login kopieren

Alternative Methoden

Zusätzlich zur Verwendung von json_decode ()-Funktion mit dem wahren zweiten Argument gibt es andere Methoden zum Konvertieren eines JSON-Objekts in ein array:

  • Verwendung von array_values(json_decode($jsondata, true)): Dieser Ansatz gibt ein Array mit ganzzahligen Schlüsseln anstelle von Eigenschaftsnamen zurück.
  • Zugriff auf das Objekt als Objekt: Sie können direkt auf die Eigenschaften des von json_decode() zurückgegebenen Objekts zugreifen als folgt:
print_r($obj->Result);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Dekodieren von JSON die Fehlermeldung „Objekt vom Typ stdClass kann nicht als Array verwendet werden'?. 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